Dek so‘zi (DEQ - Double Ended Queue) ingliz tilidan olingan bo‘lib, 2 ta chetga ega navbat degan ma’noni bildiradi. Dek ustida bajariladigan amallar - Chapdan element kiritish.
- O‘ngdan element kiritish.
- Chapdan element chiqarish.
- O‘ngdan element chiqarish.
- Dek bo‘shligini tekshirish.
- Dek to‘laligini tekshirish.
Dekdagi asosiy amallar
int kirit_right(int s){
if(isFull()){cout<<"\n dek to'ldi";n=R;return EXIT_SUCCESS;}
a[R]=s;R++;
}
bool isEmpty(){
if(R==0) return true; else return false;
}
bool isFull(){
if(R>=10) return true; else return false;
}
int olish_right(){
if(isEmpty()){cout<< "\n dek bo'sh";return EXIT_SUCCESS;}
R--;
return a[R];
}
Dekdagi asosiy amallar
int kirit_left(int s){
if(isFull()){cout<< "\n dek to'ldi";n=R; return EXIT_SUCCESS;}
for(int i=R;i>0;i--)
a[i]=a[i-1];
a[0]=s;R++;
}
int olish_left(){
if(isEmpty()){cout<< "\ndek bo'sh";return EXIT_SUCCESS;}
int t=a[0];
for(int i=0;i
a[i]=a[i+1];
R--;
return t;
}
Navbatni bog’langan ro’yhat ko’rinishida tasvirlash
Stekni bog’langan ro’yhat ko’rinishida tasvirlash
Stekka element kiritish algoritmi - 1. yangi element yaratish
- 2. uning info maydoniga ma’lumot kiritish
- 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’ni
- if(Lst==NULL){Lst=p; p->ptr=NULL}
Lst
Do'stlaringiz bilan baham: |