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
1404903183 54944, 1- dars. Mavzu Masalalarni kompyuterda yechish bosqichlari Dars, 13-мавзу маъруза матн, dasturlash, HISOB ON va YaN test savollari, Presentation 8, axborot xavfsizligi, pul oqimlari togrisidagi hisobotni tuzish usullari va uni auditorlik tekshiruvidan otkazish tartibi, pul oqimlari togrisidagi hisobotni tuzish usullari va uni auditorlik tekshiruvidan otkazish tartibi, pul oqimlari togrisidagi hisobotni tuzish usullari va uni auditorlik tekshiruvidan otkazish tartibi, buxgalteriya balansi va uning tuzilishi, Assalom, Assalom, Assalom

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 2022
ma'muriyatiga murojaat qiling

    Bosh sahifa
davlat universiteti
ta’lim vazirligi
maxsus ta’lim
zbekiston respublikasi
axborot texnologiyalari
O’zbekiston respublikasi
guruh talabasi
nomidagi toshkent
o’rta maxsus
davlat pedagogika
texnologiyalari universiteti
toshkent axborot
xorazmiy nomidagi
Ўзбекистон республикаси
rivojlantirish vazirligi
pedagogika instituti
таълим вазирлиги
махсус таълим
haqida tushuncha
O'zbekiston respublikasi
tashkil etish
toshkent davlat
vazirligi muhammad
saqlash vazirligi
kommunikatsiyalarini rivojlantirish
respublikasi axborot
vazirligi toshkent
bilan ishlash
Toshkent davlat
uzbekistan coronavirus
sog'liqni saqlash
respublikasi sog'liqni
vazirligi koronavirus
koronavirus covid
coronavirus covid
risida sertifikat
qarshi emlanganlik
vaccination certificate
sertifikat ministry
covid vaccination
Ishdan maqsad
fanidan tayyorlagan
o’rta ta’lim
matematika fakulteti
haqida umumiy
fanidan mustaqil
moliya instituti
fanining predmeti
pedagogika universiteti
fanlar fakulteti
ta’limi vazirligi