Maʼlumotlar tuzilmasi va algoritmlar fanidan


Stek, navbat va deklarni bog’langan ro’yhat ko’rinishida ifodalash



Yüklə 2,14 Mb.
səhifə3/6
tarix26.11.2023
ölçüsü2,14 Mb.
#135075
1   2   3   4   5   6
lkki bog\'lamli ro\'yhatlar (Mustaqil ish)

Stek, navbat va deklarni bog’langan ro’yhat ko’rinishida ifodalash
Oldingi ma’ruzalarda stek, navbat, dek tuzilmalari xaqida to’htalgan edik.Bu tuzilamalar yarimstatik bo’lganligi sababli ularni dasturda statik yoki dinamik ko’rinishda ifodalash mumkin.Statik ko’rinishda ifodalaganda ularni dasturda masalan massiv shaklda ifodalab, yarimstatiklik shartini buzmagan xolda ishlatish mumkin. Ya’ni elementlarga muroyaat navbatda boshidan, elementlarni kiritih esa oxiridan amalga oshiriladi va o’rtadan muroyaat mumkin emas. Ana shu shartni qanoatlantirgan xoda istalgan ko’rinishda ifodalash mumkin. Demak, yarimstatik tuzilmalarni dinamik ko’rinishda xam ifodalash mumkin, faqat elementlarni kiritish va chiqarishda ularning xususiyatlarini saqlab qolishga axamiyat berish kerak.
Navbatni chiziqli bir bog’lamli ro’yhat ko’rinishida tasvirlash

stekni chiziqli bir bog’lamli ro’yhat ko’rinishida tasvirlash






Ushbu ko’rinishda stek tuzilmasini tashkil etish va ustida amal bayarish algoritmini ko’rib chiqamiz:



  1. Yangi element yaratish

  2. Uninginfomaydonigama’lumotkiritish

  3. Agar ro’yhat bo’sh bo’lsa, ro’yhat boshi ko’rsatkichini ushbu elementga to’g’irlaymiz va yangi element ptr maydoniga NULL yozamiz, ya’niif(Lst==NULL){ p->ptr=NULL; Lst=p}

Lst
Aks xolda, ya’ni ro’yhat bo’sh bo’lmasa, yangi yaratilayotgan elementptr maydoniga ro’yhatning 1-element adresini yozamiz

p->ptr=Lst;

5. Ro’yhat boshi ko’rsatkichini yangi elementga to’girlaymiz.


Lst=p;


Stekka yangi element kiritish dastur kodini keltiramiz.


class Node{
public: int info;
Node* ptr; };
int main()
{ Node* Lst = NULL;
Node* p = new Node;
int numb; cout<<"son kiriting: ";
cin>>numb;
p->info = numb;
p->ptr = Lst;
Lst = p;
Stekdan element chiqarish amali xam huddi shu tomondan amalga oshiriladi.



Dastur kodini keltiramiz.


Node* p = new Node;
if (Lst == NULL)
cout<<"ro'yhat bo'sh";
else { p = lst;
lst = p->next ;
delete(p);
}

Yüklə 2,14 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin