Dek Dek so’zi (deq double Ended Queue) ingliz tilidan olingan bo’lib 2 ta chetga EGA navbat degan ma‟noni bildiradi. Dekning o’ziga xos xususiyati shuki
Dek Dek so’zi (DEQ - Double Ended Queue) ingliz tilidan olingan bo’lib 2 ta chetga ega navbat degan ma‟noni bildiradi. Dekning o’ziga xos xususiyati shuki, unga elementlar har ikkala tomondan – chapdan va o’ng tomondan kiritilishi va chiqarilishi mumkin (2.3-rasm).
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.
C++tilidadeknistatikko’rinishda,ya’nibiro’lchashhamlimassivko’rinishida amalga oshirishga misol: Berilayotgan butun sonlar ketma-ketligining 1-yarmini dekning chap tomonidan, qolgan yarmini dekning o’ng tomonidan kiriting. Dekning elementlarini bir safar chapdan, bir safar o’ngdan juftlikka tekshirib, toq elementlari o„chirilsin.
Algoritm Dekka nechta element kiritilishi aniqlanadi – n, i=0.
i++; agar i Agar in/2 bo’lsa, dekning o’ng tomonidan kiritiladi, 2-qadamga o’tish.
Agar dek bo’sh bo„lmasa, chapdan element chiqarib olamiz. Agar element juft bo’lsa, b[] massivga joylaymiz. 5-qadamga o„tiladi. Agar dek bo’sh bo’lsa, 6- qadamga o’tish.
Agar dek bo’sh bo„lmasa, o’ngdan element chiqarib olamiz. Agar element juft bo’lsa, b[] massivga joylaymiz. 5-qadamga o„tiladi. Agar dek bo’sh bo’lsa, 6- qadamga o’tish.
b[] massiv elementlarini dekka o’ng tomondan kiritamiz.