Mustaqil ish Mavzu: Stek, stekni massiv yordamida tasvirlash va ular ustida amllar bajarish algoritmlari Bajardi: Balxiboyev U. Guruh: tt2M21-01 Mavzu: Stek


Download 1.17 Mb.
Sana25.01.2023
Hajmi1.17 Mb.
#1119154
Bog'liq
usmon



Mustaqil ish


Mavzu:Stek, stekni massiv yordamida tasvirlash va ular ustida amllar bajarish algoritmlari
Bajardi: Balxiboyev U.
Guruh: TT2M21-01
Mavzu:Stek, stekni massiv yordamida tasvirlash va ular ustida amllar bajarish algoritmlari


REJA



  1. Steklar va navbatlar haqida tushuncha

  2. Steklar va navbatlarni mantiqiy tasvirlash va ustida amal bajarish algoritmlari

  3. Stek va navbatni bog‘langan ro‘yxat ko‘rinishida tasvirlash

Oldingi ma’ruzalarda stek, navbat, dek tuzilmalari haqida 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 holda ishlatish mumkin. Ya’ni elementlarga murojaat navbatda boshidan, elementlarni kiritih esa oxiridan amalga oshiriladi va o’rtadan muroyaat mumkin emas. Ana shu shartni qanoatlantirgan holda istalgan ko’rinishda ifodalash mumkin. Demak, yarimstatik tuzilmalarni dinamik ko’rinishda ham ifodalash mumkin, faqat elementlarni kiritish va chiqarishda ularning xususiyatlarini saqlab qolishga ahamiyat 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. Uning infomaydoniga ma’lumot kiritish



  1. 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’ni



If (Lst==NULL){ p->ptr=NULL; Lst=p}
L st

  1. Aks xolda, ya’ni ro’yhat bo’sh bo’lmasa, yangi yaratilayotgan element ptr 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 ham 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);



  1. rasm. Stekning bog’langan ro’yxatda amalga oshirilishi





B- rasm. Navbatni bog’langan ro’yxatda amalga oshirilish dasturi
Download 1.17 Mb.

Do'stlaringiz bilan baham:




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