Mavzu: stl komponentalar va konteynerlar bilan tanishish. Shablonlar standar kutubvonasining tuzilishi



Download 141,31 Kb.
Sana02.07.2021
Hajmi141,31 Kb.
#106956
Bog'liq
MTA 5


Mavzu: STL komponentalar va konteynerlar bilan tanishish. Shablonlar standar kutubvonasining tuzilishi

Variant №13



Ishning maqsadi: Talabalar berilgan tuzilmaning shakliga qarab STL komponentlar va konteynerlarni qo’llashni o’rganishi va shablonlar standart kutubxonasining tuzilishini o’rganish.

Amaliy qism: Yoqilg’i quyish shahobchasida mashinalar navbati to’g’risidagi ma’lumotlarni yozib olish uchun deque shablonidan foydalaning.

Naziriy qism:

Deyarli barcha zamonaviy C ++ kompilyatorlarida STL kutubxonasi mavjud. Dastlab, deyarli har qanday ma'lumotlar bilan ishlash uchun tuzilgan, bu funktsiyalar va sinflar shablonlari to'plami bilan ta'minlanadi.

STL tarkibini to'rtta asosiy tarkibiy qismlar tashkil etadi:


  • iteratorlar - algoritmlarni konteyner ma'lumotlari bo'yicha harakatlanishiga imkon beradigan maxsus ko'rsatgichlar;

  • algoritmlar - hisoblash protseduralari;

  • konteynerlar - ma'lumotlarni saqlash, boshqarish va joylashtirish bloklari;

  • funktsional ob'yektlar - ob'ekt tarkibidagi funktsiyalarni boshqa tarkibiy qismlar tomonidan ishlatish uchun.

Qaytaruvchilar:

Iterator - bu umumlashtirilgan ko'rsatkich. Oddiy C ++ til ko'rsatkichlari bu turli xil ma'lumotlar tuzilmalari va turlari bilan universal ishlashga imkon beradigan iteratorlarning maxsus holati. Har qanday algoritm (universal hisoblash protsedurasi), iteratorlarni parametr sifatida qabul qilganda, uzatilayotgan iteratorlarni qayta ishlashda ularga taalluqli ma'lumotlar turi to'g'risida o'ylamaydi.

Iterator besh shaklda bo'ladi:



kirish (input).

chiqish (output).

bir tomonlama (forward).

ikki tomonlama (bidirectional).

tasodifiy kirish (random access).

Algoritmlar.

STL kutubxonasida qidirish, konvertatsiya qilish, saralash, nusxalash va hk kabi ba'zi bir standart harakatlarni bajaradigan funktsiyalar guruhi mavjud, ular algoritmlar deb ataladi. Algoritmlar uchun parametrlar, qoida tariqasida, iteratorlardir. Algoritm unga berilgan iterator turiga ahamiyat bermaydi. Asosiysi shundaki, ikkinchisi ma'lum bir toifaga kiradi. Masalan, agar algoritm parametri bir yo'nalishli iterator bo'lishi kerak bo'lsa, u holda almashtiriladigan iterator bitta yo'naltirilgan yoki ikki yo'naltirilgan yoki tasodifiy kirish iteratori bo'lishi kerak.



  • vector  - tasodifiy kirishga ega bo'lgan massiv, zanjirning oxiriga ketma-ket ma'lumotlarni qo'shish kerak bo'lganda ko'pincha foydalaniladi.

  • list  - vektorga o'xshash, ammo zanjirning biron bir joyida ma'lumotlarni qo'shish va o'chirishda samarali.

  • deque  - boshida yoki oxirida ma'lumotlarni kiritish uchun qulay bo'lgan idish.

  • set  - ma'lum bir tartibda tartiblangan noyob elementlar to'plami.

  • multiset  - to'plam bilan bir xil, ammo ularning nusxalari bo'lishi mumkin.

  • map  - tugmachalar orqali qiymatlarga kirishni ta'minlaydi.

  • multimap  - xarita bilan bir xil, ammo takroriy kalitlarga ruxsat berish.

  • stack - ma'lumotlar bitta tartibda qo'shiladi va aksincha olinadi.

  • queue  - ma'lumotlar qo'shiladi va shu tartibda chiqariladi.

  • priority queue - navbat bilan bir xil, ammo ma'lumotni ustuvorligi bo'yicha saralashi mumkin.

Funktsional ob'ektlar barchasi arifmetik operatorlardir: qo'shish (qo'shish), ayirish (qo'shish), ko'paytirish (marta), bo'linish (bo'linish), qolgan qismini (modul) olish va belgini teskari (negate). Tenglikni (teng_to), tengsizlikni (teng bo'lmagan_to), operatsiyalar "ko'proq" (katta), "kamroq" (kamroq), "ko'proq yoki teng" (katta) . Mantiqiy operatorlar o'zlarining funktsional ob'ektlariga ega: mantiqiy "va" (mantiqiy_ va), mantiqiy "yoki" (mantiqiy_or) va mantiqiy "emas" (mantiqiy_not).

Konteynerlar — bu boshqa elementlarni saqlash uchun mo‘ljallangan sinflar shablonlaridir. Konteynerlar asosiy xususiyati shundaki ular ixtiyoriy tipdagi elementlarni o‘zida saqlash uchun mo‘ljallangan. To‘g‘rirog‘i, har bir tur uchun shablon nusxasi kerak bo‘lganda, kompilyator tomonidan avtomatik tarzda yaratiladi. Algoritmlar konteyner elementlari ustidan operasiyalar bajaradi.

Bibliotekada qidirish, saralash va almashtirish uchun algoritmlar mavjud.

Algoritmlar elementlar ketma_ketligi bilan ishlash uchun mo‘ljallangan. Algoritmlar asosiy xususiyati shuki ular ixtiyoriy konteynerlar bilan ishlay oladi.

Dastrur kodi:

#include

#include

using namespace std;

template

void navbat(deque list[], int listSize)

{

for (int i = 0; i < listSize; i++)



{
cout<}

}

int main()



{ int n;

cin>>n;


string a[n];

for (int i = 0; i < n; i++) {

cin>>a[i];

}
navbat(a,n);

return 0;

}

Dastur natijasi:





Xulosa

Dars mobaynida avvalgi bilimlarimizni mustahkamladik. Bilmagan ba’zi savollarga javob oldik. Ma’lumotlar tuzilmasi va algoritmi fani asosan dasturlashgacha bo’lgan jarayonni chuqurroq o’rganar ekan.




Download 141,31 Kb.

Do'stlaringiz bilan baham:




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