Uploaded by Jasur Raimjonov

Dasturlash-II topshiriq-2 variant-8

advertisement
O`ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR
VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Dasturlash-II
Topshiriq-2
Variant №8
Bajardi: 070-19 guruh talabasi Raimjonov Jasur
Tekshirdi: Saidov Samandar
Toshkent 2024
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:
Navbatda birinchi elementga teng barcha elementlar o‘chirilsin.
Masalani yechish g‘oyasi:
Shunday qilish uchun, barcha elementlarni o'chirish uchun o'zgaruvchilar
qo'llanamiz. vector to'plamini yaratib, boshlang'ich qiymatlarni qo'shamiz. Keyin,
erase metodini ishlatib, birinchi elementni o'chiramiz. Natijada, yangi to'plamni
chiqaramiz.
Stack va navbat haqida
Stack va navbat (queue) ikkala dastlabki ma'lumot tuzilmalari. Ularning
asosiy farq, qo'shimcha elementlarni qanday qabul qilishlarida.
Stack (Stek): Stek, LIFO (Last In, First Out - oxirgi kirgan, birinchi chiqqan)
tartibida elementlarni saqlaydi. Bu degani, eng oxirgi element, birinchi chiqib
ketadi. Qiziqishlar to'plami, masalan, stek hisoblanadi. Stekning asosiy
operatsiyalari quyidagilardir:
push: Stekka yangi element qo'shish.
pop: Stekdan eng yuqori elementni olib tashlash.
top yoki peek: Stekning eng yuqori elementini ko'rish, lekin uni o'chirmasdan.
empty: Stek bo'shligini tekshirish.
Queue (Navbat): Navbat esa FIFO (First In, First Out - birinchi kirgan,
birinchi chiqqan) tartibida elementlarni saqlaydi. Bu degani, eng birinchi element,
birinchi chiqib ketadi. Misol uchun, jamoa, banknavbat yoki qator hisoblanadi.
Navbatning asosiy operatsiyalari quyidagilardir:
push: Navbatga yangi element qo'shish.
pop: Navbatdan eng oldingi elementni olib tashlash.
front: Navbatning eng oldidagi elementni ko'rish, lekin uni o'chirmasdan.
back: Navbatning eng oxiridagi elementni ko'rish, lekin uni o'chirmasdan.
empty: Navbat bo'shligini tekshirish.
C++ tilida, stek va navbat uchun standart kutubxona (<stack> va <queue>)
mavjud.
Stack va navbat (queue) ikkala dastlabki ma'lumot tuzilmalari. Ularning
asosiy farq, qo'shimcha elementlarni qanday qabul qilishlarida.
Stack (Stek): Stek, LIFO (Last In, First Out - oxirgi kirgan, birinchi chiqqan)
tartibida elementlarni saqlaydi. Bu degani, eng oxirgi element, birinchi chiqib
ketadi. Qiziqishlar to'plami, masalan, stek hisoblanadi. Stekning asosiy
operatsiyalari quyidagilardir:
push: Stekka yangi element qo'shish.
pop: Stekdan eng yuqori elementni olib tashlash.
top yoki peek: Stekning eng yuqori elementini ko'rish, lekin uni o'chirmasdan.
empty: Stek bo'shligini tekshirish.
Queue (Navbat): Navbat esa FIFO (First In, First Out - birinchi kirgan,
birinchi chiqqan) tartibida elementlarni saqlaydi. Bu degani, eng birinchi element,
birinchi chiqib ketadi. Misol uchun, jamoa, banknavbat yoki qator hisoblanadi.
Navbatning asosiy operatsiyalari quyidagilardir:
push: Navbatga yangi element qo'shish.
pop: Navbatdan eng oldingi elementni olib tashlash.
front: Navbatning eng oldidagi elementni ko'rish, lekin uni o'chirmasdan.
back: Navbatning eng oxiridagi elementni ko'rish, lekin uni o'chirmasdan.
empty: Navbat bo'shligini tekshirish.
C++ tilida, stek va navbat uchun standart kutubxona (<stack> va <queue>)
mavjud.
Dastur kodi:
Variant-8
#include <iostream>
#include <vector>
using namespace std;
int main() {
// To'plam yaratamiz va unga qiymatlar qo'shamiz
vector<int> toplam = {3, 7, 11, 15, 19};
// To'plamni chiqaramiz
cout << "Boshlang'ich to'plam: ";
for (int i : toplam) {
cout << i << " ";
}
cout << endl;
// Birinchi elementni o'chiramiz
toplam.erase(toplam.begin());
// Yangi to'plamni chiqaramiz
cout << "Yangi to'plam: ";
for (int i : toplam) {
cout << i << " ";
}
cout << endl;
return 0;
}
Natijamiz:
Download