5 tajriba ishi mavzu: Konteynerlar adapterlari. Konteynerlar bilan ishlash algoritmlari Ishning maqsadi


Download 3.08 Mb.
bet1/4
Sana22.09.2023
Hajmi3.08 Mb.
#1684538
  1   2   3   4
Bog'liq
6-amaliyot, Dasturlash II


5 - TAJRIBA ISHI
Mavzu:Konteynerlar adapterlari. Konteynerlar bilan ishlash
algoritmlari
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);
S.size --;
return S.data[S.size];
}
Bo’shmi yoki yo’q?
int isEmpty ( Stack &S )
{
return (S.size == 0);
}
stack uchun aniqlangan funksiyalar



empty() funksiyasi

queue sinfi
Old va orqa elementlarga kirishni cheklab qo'yadigan ba'zi bir konteyner turi uchun ishlashni cheklashni ta'minlaydigan shablon konteyner adapteri sinfidir. Elementlar orqa tomondan qo'shilishi yoki old tomondan olib tashlanishi mumkin va elementlarni navbatning oxirida tekshirish mumkin.
Sintaksisi:
template > class queue
queue - navbat
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.
Navbat – chiziqli ma’lumotlar strukturasi bo’lib, elementni faqat
navbat oxiridan kiritish (navbat oxiri), elementni o’chirish esa faqat
navbat boshqa oxiridan amalga oshiriladi (navbat boshi).

Download 3.08 Mb.

Do'stlaringiz bilan baham:
  1   2   3   4




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