Ma’lumotlar tuzilmasi va algoritmlar fanining maqsad va vazifasini izohlab bering



Yüklə 1,56 Mb.
səhifə25/32
tarix05.10.2023
ölçüsü1,56 Mb.
#152400
1   ...   21   22   23   24   25   26   27   28   ...   32
MTA oraliq javoblai

Tnode (int val): pnext(0), value(val) {}
};

  • Ikki bog’lamli ro’yxatning har bir elementida ko’rsatkich maydoni ikki qismdan iborat bo’ladi. Birinchisi o’zidan oldingi elementni (teskari), ikkinchisi navbatdagi elementni ko’rsatadi (to’g’ri).

  • Odatda, ikki bog’lamli ro’yxatlarni, elementlari soni bir xil bo’lgan, faqat o’zaro teskari ketma-ketlikda yozilgan ikkita bir bog’lamli ro’yxat sifatida qarash mumkin.

  • Ikki bog’lamli ro’yxatning tavsiflanishi:

struct Tnode {
T value;
Tnode* pnext;
Tnode* pprev;
Tnode (T val): pnext(0), pprev(0),value(val) {}
};
52. Dinamik ma’lumotlar tuzilmasi: Ro’yxatlar ustida bajariladigan amallar (Adding data, Data change)ни мисоллар ёрдамида тушунтиринг.
Bog’langan ro’yxatlar ustida bajariladigan amallar

  • Ro’yxatga yangi element qo’shish;

      • Ro’yxatdan elementni o’chirish;

      • Ro’yxatdan elementni qidirish;

      • Ro’yxat elementlarini chop etish.

    • Eslatma: Ro’yxatning ixtiyoriy elementini o’chirish, ixtiyoriy joyiga yangi element qo’shish mumkin (dinamik tuzilma).

  • Bog’langan ro’yxat elementlari mantiqiy tasvirlanishda yozuv kabi ifodalanadi.

Ro'yxatga element qo'shish:
void addList (TNode **pphead, int val)
{
TNode **pp = pphead, *pnew;
pnew = new TNode(val);
pnew->pnext = *pp;
*pp = pnew;
}
Ro‘yxat elementini o'chirish:
void deleteList(TNode *phead) {
if(phead)
{
deleteList(phead->pnext);
if(phead)
delete phead;
}
}
Ro'yhatda elementni qidirish
Tnode* Find(Tnode *phead, int x)
{
Tnode *p=phead;
while(p)
{
if (p->value==x) return p;
else p = p->pnext;
}
return 0;
}

Yüklə 1,56 Mb.

Dostları ilə paylaş:
1   ...   21   22   23   24   25   26   27   28   ...   32




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin