9-Amaliy mashg’ulot. Stekning tuzilishi. Massiv va ro’yxatlar bilan stackni tuzish. Navbat. Navbatdagi asosiy operatsiyalar
Download 1.32 Mb.
|
9-amaliy mashg\'ulot (1)
9-Amaliy mashg’ulot. Stekning tuzilishi. Massiv va ro’yxatlar bilan stackni tuzish. Navbat. Navbatdagi asosiy operatsiyalar.Stakning barcha elementlari bir xil bo'lganligi sababli, C yoki C ++ dagi Arrays yordamida stekni amalga oshirish juda oson. Stakning birinchi elementini birinchi qator uyasiga, stackning ikkinchi elementini ikkinchi qator uyasiga va hokazolarni qo'yish mumkin. Stekning yuqori qismi bu stekka qo'shilgan so'nggi elementning indeksidir. Stekni amalga oshirishda stack elementlari massivda saqlanadi. STACK bu ma'lumotlar strukturasi bo'lib, unda elementlarga faqat bitta uchida, ya'ni Last In First Out ma'lumotlar tuzilmasida kirish mumkin (ochilgan yoki itarilgan). Shunday qilib, stack elementiga faqat tepadan kirish mumkin, pastki yoki o'rtadan emas. Navbat - bu birinchi bo'lib chiqadigan (FIFO) tartibda ishlaydigan konteyner adapterlarining turi. Elementlar orqa tomonga (uchiga) kiritiladi va old tomondan o'chiriladi. Navbat – bu elementlarning tartiblangan to’plami bo’lib, bunda elementlarni qo’shish bir tomondan – tuzilma oxiridan (bu navbat oxiri deb ataladi), elementlarni o’chirish esa, tuzilmaning ikkinchi oxiri – navbat boshi deb ataluvchi tomonidan ruxsat beriladi. Navbatning barchamizga tanish bo’lgan modeli – bu do’kondagi xaridorlar tomonidan hosil qilingan navbat hisoblanadi. Navbat FIFO (First In - First Out) – birinchi kelgan birinchi ketadi turidagi tuzilma sifatida qaraladi. Rasmda 3 ta elementdan tashkil topgan navbat tuzilmasiga misol keltirilgan. Navbat tuzilmasi ommaviy xizmat ko’rsatish masalalarini modellashtirishda ham qo’llaniladi (masalan, banklarda mijozlarga xizmat ko’rsatish). Navbatni massiv yordamida tadbiq qilish. Agarda navbatning maksimal o’lchami oldindan ma’lum bo’lsa, dasturda uni massiv ko’rinishida tadbiq qilish mumkin. Bitta tuzilmada massivning o’zini va uning o’lchamini birlashtirish juda qulay. Stek bir tomondan “yopiq” (harakatlanmaydigan) bo’lsa, navbat ikki tomonlama “harakatlanuvchi” hisoblanadi. Shuning uchun ham navbatda ikkita o’zgaruvchi qo’llaniladi, bular navbat boshi head va navbat oxiri tail. Bu o’zgaruvchilarning birinchisi navbatning birinchi elementini, ikkinchisi esa navbatning oxirgi elementining tartib raqamini bildiradi. Agar bu o’zgaruvchilar teng bo’lsa, navbatda bor-yo’g’i bitta element mavjud bo’ladi. Massiv halqasimon shaklda biriktiriladi, lekin bunda massiv boshida bo’sh joylar mavjud bo’ladi. Yangi element rasmda ko’rsatilganidek navbat boshidan qo’shiladi. C++ dasturlash tilida navbatni queue orqali amalga oshiramiz. Navbat tomonidan qo'llab-quvvatlanadigan funktsiyalar:
Navbat tomonidan qo'llab-quvvatlanadigan funktsiyalar:
#include #include using namespace std; int main() { queue q1.push(90); q1.push(99); cout<<"Hajmi: "< return 0; } Download 1.32 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling