Mavzu: Konteynerlar. Stack va Navbat Ishning maqsadi: C++ dasturlash tilida stack va navbat hosil qilish va uning dasturini yaratish ko’nikmalarini egallsh.
Masalaning qo’yilishi: Stekning eng kichik elementini toping?
Masala: Masalaniyechish g‘oyasi: Stackga elementlar kiritiladi. Dastlab min ga stackning dastabki elementini qiymatini beramiz. So’ngra stackning qolgan elemenlarini shu min element bilan solishtiramiz.
Stack va navbat haqida Stek deb shunday strukturaga aytiladiki, stekka kelib tushgan oxirgi elementga birinchi bo’lib xizmat ko’rsatiladi va stekdan chiqariladi. Mazkur ko’rinishdagi xizmat ko’rsatishni LIFO (Last input-First output, ya’ni oxirgi kelgan – birinchi ketadi) nomlash qabul qilingan. Stek bir tomondan ochiq bo’ladi. Stack = g’aram, to’p, bo’glam (angl.)
Biz navbat bilan ko’p joylarda duch kelamiz: magazinda, o’qishda, ishda va hokazo. Odatda biz unga e’tibor bermaymiz. Dasturiy tizimlarda ham bu navbat tushunchasi ishlatiladi. Masalan, hujjatni chop etish uchun printerga jo’natsak, u navbatga turadi.
Dastur kodi: #include "iostream" #include "string.h" #include "stdlib.h" #include "stdio.h" #include "iomanip" #include "math.h" #include "stack" using namespace std; int main() { stack stek; int imin,min,n,son; cout<<"Stack elementlari sonini kiriting "; cin>>n; for(int i=0;i { cin>>son; stek.push(son); } min=stek.top(); for(int i=n-1;i>=0;i--) { if(min>stek.top()) { min=stek.top(); imin=i; } stek.pop(); } cout<<"Stackning minimal elementi ="< return 0; }