Chirurgia endoscopică a hipofizei
"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală. Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale. www.neurohope.ro |
AVL- help
Last Updated: Dec 17 2016 01:28, Started by
jdavyd
, Dec 16 2016 20:34
·
0
#1
Posted 16 December 2016 - 20:34
Trebuie sa implementez avl si am o mica problema, nu prea da.Ca sa testez daca e AVL am facut parcurgerile RSD si SRD(asta da corecta pt ca in particular e abc) dar RSD nu da bine ....(pt ca nu cred ca am facut ceva bine)
#include <iostream> #include <fstream> using namespace std; ifstream f("date.in"); struct nod { int bal,info,contor; nod *stanga; nod *dreapta; }; void inserare(nod *&rad,int x,bool h) { if(rad==NULL) { rad=new nod; rad->info=x; rad->stanga=NULL; rad->dreapta=NULL; rad->bal=0; h=true; } else if(x<rad->info) //merg in stanga { inserare(rad->stanga,x,h); if(h==true) switch(rad->bal) { case 1: { rad->bal=0; h=false; } break; case 0: { rad->bal=-1; } break; case -1: { nod *q=rad->stanga; if(q->bal==-1) //rotatie SS { rad->stanga=q->dreapta; q->dreapta=rad; rad->bal=0; rad=q; } else //SD { nod *r=q->dreapta; q->dreapta=r->stanga; r->stanga=q; rad->stanga=r->dreapta; r->dreapta=rad; if(r->bal==-1) //s-a inserat pe stanga { q->bal=0; rad->bal=1; } else //s-a inserat pe dreapta { q->bal=-1; rad->bal=0; } rad=r; //setarea radacinii } rad->bal=0; h=false; } break; } } else if(x>rad->info) { inserare(rad->dreapta,x,h); if(h==true) switch(rad->bal) { case -1: { rad->bal=0; h=false; } break; case 0: { rad->bal=1; } break; case 1: { nod *q=rad->dreapta; if(q->bal==1) //rotatie DD { rad->dreapta=q->stanga; q->stanga=rad; rad->bal=0; rad=q; } else //DS { nod *r=q->stanga; q->stanga=r->dreapta; r->dreapta=q; rad->dreapta=r->stanga; r->stanga=rad; if(r->bal==1) //s-a inserat pe stanga { rad->bal=-1; q->bal=0; } else //s-a inserat pe dreapta { q->bal=1; rad->bal=0; } rad=r; } rad->bal=0; h=false; } break; } } else { rad->contor+=1; h=false; } } void SRD(nod *rad) { if(rad!=NULL) { SRD(rad->stanga); cout<<rad->info<<" "; SRD(rad->dreapta); } } void RSD(nod *rad) { if(rad!=NULL) { cout<<rad->info<<" "; RSD(rad->stanga); RSD(rad->dreapta); } } int main() { nod *rad=NULL; int x; bool h=0; while(f>>x) { inserare(rad,x,h); } cout<<"SRD: "; SRD(rad); cout<<endl; cout<<"RSD: "; RSD(rad); return 0; } |
#2
Posted 16 December 2016 - 21:34
am gasit trebuia &h, dar dupa ce pun &h da crash programul...
fara &h pur si simplu face abc va rog daca e dispus cineva |
#3
Posted 17 December 2016 - 01:28
Acum am vazut ca nu e postat unde treebuie, daca poate cineva sa l mute.
|
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users