/*! *Usuwa Wszystkie elementy z drzewa jesli w metodzie wywolamy Usun(head); */ void Drzewo::Usun(Pojemnik *pom){ if(pom==NULL){cerr<<"W drzewie nie ma elementow"<<endl; return;} if(pom->Lewy()!=NULL){ //cout<<"lewy"<<endl; Usun(pom->Lewy()); } if(pom->Prawy()!=NULL){ //cout<<"prawy"<<endl; Usun(pom->Prawy()); } if(pom->Prawy()==NULL && pom->Lewy()==NULL){ string pozycja=JakiJestem(pom); Pojemnik *pom2; pom2=pom->ojciec; delete pom; pom=NULL; //cout<<"Usunieto"<<endl; if(pozycja=="L") pom2->lewy=NULL; else if(pozycja=="P") pom2->prawy=NULL; else{ // cout<<"Mam korzen, KONIEC"<<endl; return; } } }
/*! *Usuwa wszystkie elementy stosu */ void Stos::Oproznij(){ if(!Czypusty()){ for(int i=0;i<Rozmiar();i++){ Usun(); } } }
/*! *Usuwa wszystkie elementy kolejki priorytetowej */ void KolejkaPriorytet::Oproznij(){ if(!Czypusta()){ for(int i=Rozmiar();i>0;i--){ Usun(); //cout<<"Usunieto"<<endl; } head=NULL; tail=NULL; } }
int main(){ List moja; moja = Wczytaj(); NaPrawo(&moja); Wyswietl(&moja); Usun(&moja); Wyswietl(&moja); NaLewo(&moja); Wyswietl(&moja); return 0; }