Amaliy mashg’ulot-6


Steklar - bu LIFO (Last In First Out) ishlaydigan konteyner adapterlarining bir turi hisoblanadi. Ya’ni Dastlab kiritilgan element oxirida olinadi.Stekda “top



Download 0,61 Mb.
bet7/11
Sana25.05.2023
Hajmi0,61 Mb.
#943393
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
Ismoilov Rahimjon MTA

Steklar - bu LIFO (Last In First Out) ishlaydigan konteyner adapterlarining bir turi hisoblanadi. Ya’ni Dastlab kiritilgan element oxirida olinadi.Stekda “top” deb nomlangan element mavjud, u eng yuqoridagi elementdir. Barcha qo’shish va o’chirish operatsiyalari to’plamdagi yuqori elementning o’zida amalga oshiriladi.




Qo’yilgan masala. Doubly linked list (ikki bog’langan ro’yxat) asosida ixtiyoriy N qiymatdagi sonlar to’plami kiritilsin. Dasturning oxirgi qismiga yangi node kiritilsin va natijalar ekranga chiqarilsin
Dastur kodi:

#include


#include

using namespace std;


int main()


{
stack mystack;
mystack.push(1);
mystack.push(2);
mystack.push(3);
mystack.push(4);
while (!mystack.empty()) {
cout << ' ' <mystack.pop();
}
cout<cout<<"Stek o`lchami: "<}


Dastur natijasi:







AMALIY MASHG’ULOT- 9


Mavzu: Stekning tuzilishi. Massiv va ro’yxatlar bilan stackni tuzish. Navbat.

Navbatdagi asosiy operatsiyalar.




Ishdan maqsad. Ushbu laboratoriya ishida talabalar STL komponentalaridan biri bo’lgan stek bilan tanishib chiqishi hamda stekda mavjud bo’lgan funksiyalar bilan ishlashni o’rganishlari kerak.
Ish tartibi:

  • Tajriba ishi nazariy ma’lumotlarini o‘rganish;

  • Berilgan topshiriqning algoritmini ishlab chiqish;

  • C++ dasturlash muhitida dasturni yaratish;

  • Natijalarni tekshirish;

  • Hisobotni tayyorlash va topshirish.

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.Stekning bu xususiyati juda muhimdir va uni yaxshi tushunish kerak. Massivning yuqori holatini kuzatib borish uchun biz shunchaki Top of Stack deb nomlangan boshqa o'zgaruvchini e'lon qilishimiz mumkin.

Stek nima?


Stek bu ibtidoiy bo'lmagan chiziqli ma'lumotlar tuzilmasi bo'lib, unda yangi ma'lumotlar elementlarini qo'shish va allaqachon mavjud bo'lgan ma'lumotlar elementlarini o'chirish faqat bitta uchidan, ya'ni to'plamning yuqori qismidan amalga oshiriladi.
Stack LIFO algoritmini, ya'ni Last In First Out (LIFO) tuzilmasidan foydalanadi. Yangi boshlanuvchilar uchun bu biroz chalkash, ammo bu juda oson tushuncha
Misol
1. Oshxonada bir-biriga qo'yilgan 10 ta plastinka bu stek, chunki ko'proq plastinkalarni qo'shsak, ularni tepaga qo'yamiz. va undan likopchani olsak, birinchi navbatda yuqori plastinani olamiz.
Shunday qilib, u LIFO (Last In First Out) ma'lumotlar tuzilishini kuzatib boradi.

Push va Pop - bu ma'lumotlar elementlarini stekka qo'shish va o'chirish uchun standart shakllar.

  1. Push shunchaki ma'lumotni stekning yuqori qismiga joylashtirishdir. Yoki ushbu ro'yxatga ma'lumotlarni qo'shganda, biz ularni stekka surish uchun chaqiramiz.

  2. Pop shunchaki elementlarni o'chiradi, lekin faqat yuqoridan. Bu to'plamdan pop deb nomlanadi.

Stack elementlariga faqat yuqoridan kirish imkoni berilganligi sababli, biz barcha operatsiyalarda top qismini yangilashimiz kerak.
Har safar stek yaratilganda, stek tagligi mustahkam bo'lib qoladi, chunki stakka yuqoridan yangi elementlar qo'shiladi.

Navbatlar - bu birinchi bo'lib chiqadigan (FIFO) tartibda ishlaydigan konteyner adapterlarining turi. Elementlar orqa tomonga (uchiga) kiritiladi va old tomondan o'chiriladi.


Navbat tomonidan qo'llab-quvvatlanadigan funktsiyalar:

empty () - navbatning bo'sh yoki yo'qligini qaytaradi. size () - navbatning hajmini qaytaradi.


queue :: swap () C ++ STL-da: Ikkala navbatning tarkibini almashtiring, lekin navbati bir xil bo'lishi kerak, ammo o'lchamlari farq qilishi mumkin.
queue :: emplace () da C ++ STL: Navbat konteyneriga yangi element kiriting, yangi element navbat oxiriga qo'shiladi.
C ++ STL-dagi front () funktsiyasidagi queue :: front () va queue :: back () navbatning birinchi elementiga havolani qaytaradi. back () funktsiyasi navbatning oxirgi elementiga havolani qaytaradi.
push (g) va pop () - push () funktsiyasi navbat oxiriga «g» elementini qo'shadi. pop () funktsiyasi navbatning birinchi elementini o'chiradi.

Download 0,61 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish