|
Mustaqil ishi mavzu: stack, queue, priority queue
|
bet | 1/3 | Sana | 05.06.2024 | Hajmi | 0,96 Mb. | | #260561 |
Bog'liq DASTURLASH-2 MUSTAQIL ISH
O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI FARG’ONA FILLIALI
DASTURIY INJINERING FAKULTET 750-22 GURUH TALABASI KOMILOV KOMILJONNING DASTURLASH 2 FANIDAN TAYYORLAGAN.
MUSTAQIL ISHI
MAVZU: STACK, QUEUE, PRIORITY QUEUE
BAJARDI: KOMILOV KOMILJON
QABUL QILDI: ASRAYEV.M.A
Mavzu: Stack, queue, priority queue.
Ishning maqsadi: Ushbu laboratoriyada konteyner adapterlarini o’rganish uchun misoillar beilgan. Misollarni konteyner adapterlarning elementlari bo’lgan setek, queue va priority_queue tuzilmalaridan foydalangan holda yechish kerak.
NAZARIY QISM
C++ standart kutubxonasida konteyner adapterlarining uch turi aniqlangan:
stack,
navbat(queue);
priority_queue.
Har biri standart ma'lumotlar tuzilishi uchun aniq boshqariladigan interfeysni ta'minlash uchun ba'zi bazaviy konteynerlar sinfining funktsional imkoniyatlarini cheklaydi. 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.
Stekni amalga oshirish (sonlarni)
Struktura-stek:
const MAXSIZE = 100;
struct Stack {
char data[MAXSIZE]; // 100 ta simvolli stek
int size; // elementlar soni
};
Element qo’shish:
int Push ( Stack &S, char x )
{
if ( S.size == MAXSIZE ) return 0;
S.data[S.size] = x;
S.size ++;
return 1;
}
Boshidan elementni o’chirish:
char Pop ( Stack &S )
{
if ( S.size == 0 ) return char(255);
|
| |