Bajardi: Mamasoatov. S. Tekshirdi: Akbarova. M


link->data = data; if(isEmpty())


Download 242.44 Kb.
bet3/3
Sana23.12.2022
Hajmi242.44 Kb.
#1046676
1   2   3
Bog'liq
MTA 2

link->data = data;

if(isEmpty())

{

last = link;

}

else {

head->prev = link; }

link->next = head;

head = link; }

Halqasimon ikki bog‘lamli ro‘yxatdan element o‘chirish algoritmi

O‘chirilishi kerak bo‘lgan joriy element r dan oldin turgan element adresini prev ko‘rsatkichga o‘zlashtirib olamiz

Node *Prev=p->prev;

oldin turgan elementning next maydoniga r dan keyin turgan element adresini yozamiz:

Prev->next=p->next;

joriy elementdan keyin turgan elementni Next deb belgilab olib, uning prev maydoniga joriy elementdan oldin kelgan elementni adresini o‘zlashtiramiz:

Node *Next=p->nextI;

Next->prev=Prev;

delete(p);

Natijada joriy r element o‘chiriladi.

Amaliy mashqlar.

  • Chiziqli bir bog’lamli ro’yhatdan key kalitga mos elementni ketma-ket qidiruv usuli yordamida izlab topish dasturi.
  • Node *q=NULL;

    Node *p=lst;

    while (p !=NULL){

    if (p->k == key){ search = p;

    return search;

    q = p;

    p = p->nxt; }

    Node *s=new Node;;

    s->k=key;

    s->r=rec;

    s->nxt= NULL;

    if (q == NULL){ s->nxt=lst; lst = s;

    } else q->nxt = s;

    search= s;

    return search;

Xulosa.

Ro’yhatli tuzilmaning afzalligi shundan iboratki, ro’yhatga elementni qo’shish yoki o’chirish tez amalga oshadi, bunda qo’shish yoki o’chirish element soniga bog’liq bo’lmaydi, massivda esa elementni qo’shish yoki o’chirish o’rta hisobda barcha elementlarning yarmini siljitishni talab qiladi. Ro’yhatda qidiruvning samaradorligi taxminan massivniki bilan bir xil bo’ladi. 

Foydalanilgan adabiyotlar.

1. A. M. Polatov

2. ALGORITMLAR VA C++ TILIDA DASTURLASH ASOSLARI

3. A.Azamatov algoritimlar kitobi.

4. fayillar.org


Download 242.44 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling