- node *del(node *tree, int key){
- node *p=new node;
- node *next=tree;
- node *q=NULL;
- while(next!=NULL)
- { if (next->info==key){cout<<"Binar daraxtda "<
- Mavjud"<
Элемент ўчириш - if (next->info>key){ q=next; next=next->left; }
- else {q=next;next=next->right;}
- }
- if(next==NULL) cout<<"tuzilmada izlangan element yo’q!!!"<
- node *v=NULL,*t=NULL,*s=NULL;
- if(p->left==NULL)v=p->right;
- else
Элемент ўчириш - if(p->right==NULL) v=p->left;
- if((p->left!=NULL)&&(p->right!=NULL)){t=p; v=p->right; s=v->left;}
- while(s!=NULL){
- t=v;
- v=s;
- s=v->left;
- }
Элемент ўчириш - if((t!=NULL)&&(t!=p)){
- t->left=v->right;
- v->right=p->right;
- v->left=p->left;
- }
- if(t==p) v->left=p->left;
- if(q==NULL){
- cout<info<<" ildiz\n";
Элемент ўчириш - tree=v;
- delete(p);
- return tree;
- }
- if(p==q->left)
- q->left=v;
- else q->right=v;
- delete(p); // o’chirilgan element joylashgan xotira yacheykasini tozalash
- return tree;
- }
Бинар дарахтдан тугунни ўчириш Xulosa - Xulosa o’rnida shuni aytib o’tmoqchimanki, men bu mavzudan dasturlashda daraxt tushunchasining mazmuni qanday ekanligini, binar daraxt, daraxtlar ustida bajariladigan amalllar haqida ma’lumotlarga ega bo’ldim.
- Bu mavzularni o’rganish algoritmlashimizni oshirib olishimizga katta yordam beradi.
- Bu mavzularni o’rganishingizni maslahat beraman.
E’tiboringiz uchun RAHMAT! - E’tiboringiz uchun RAHMAT!
Do'stlaringiz bilan baham: |