Halqasimon ikki bog’lamli ro’yhatdan elementni o’chirish algoritmi
O’chirilishi kerak bo’lgan joriyelementp dan oldin turgan element adresini prev ko’rsatkichga o’zlashtirib olamiz
Node *Prev=p->prev;
oldin turgan elementning next maydoniga p dan keyin turgan element adresini yozamiz:
Prev->next=p->next;
joriyelementdan keyin turgan elementni Next deb belgilab olib, uning prev maydoniga joriyelementdan oldin kelgan elementni adresini o’zlashtiramiz:
Node *Next=p->nextI;
Next->prev=Prev;
delete(p);
Natijada joriypelemento’chiriladi.
void delete(Node *p){
Node *Prev=p->prev;
Prev->next=p->next;
Node * Next=p->next;
Next->prev=Prev;
delete(p);
}
Halqasimon ikki bog’lamli ro’yhat elementlarini ekranga chiqarish dasturi
void printList(Node* List)
{
Node *p=List;
Node *firstItem=List;
while(p)
{
cout<
data<<“ ”;
p=p->next;
if(p==firstItem) break;
};
}
Do'stlaringiz bilan baham: |