Stl kutubxonalari. Kontеynеr sinflar, kontеynеrlar (kollеksiyalar). Chiziqli konteynerlar. Assosiativ kontеynеrlar. Tartiblanmagan assosiativ kontеynеrlar Ishning maqsadi



Yüklə 223,43 Kb.
tarix22.05.2023
ölçüsü223,43 Kb.
#120044
Stl kutubxonalari. Kontåynår sinflar, kontåynårlar (kollåksiyala



STL kutubxonalari. Kontеynеr sinflar, kontеynеrlar (kollеksiyalar).
Chiziqli konteynerlar. Assosiativ kontеynеrlar.
Tartiblanmagan assosiativ kontеynеrlar

Ishning maqsadi: C++ dasturlash tilida STL kutubxonalari, konteynerlar va konteyner sinflaridan foydalanish ko‘nikmalarini shakllantirish.
Nazariy qism
STL kutubxonalari
STL – (Standart Template Library) C++ dasturlash tilida turli xil ma’lumotlar tuzilmalari va funksiyalari ya’ni ro’yxatlar, steklar va massivlar kabi tuzilmalar bilan ishlash uchun qulay hisoblanadigan shablon sinflar to’plamidir. STLkonteyner sinflar kutubxonasi, algoritmlar va iteratorlardan iborat.
STL tarkibi 4 ta asosiy komponentga ega:

  • Algoritmlar

  • Konteynerlar

  • Funksiyalar

  • Iteratorlar

Algoritmlar - elementlar diapazonlarida foydalanish uchun mo'ljallangan funksiyalar to'plamini belgilaydi. Ular konteynerlarda ishlaydi va konteynerlar mazmuni uchun turli operatsiyalarni bajaradi hamda ular turli xildagi vositalarni taqdim etadi.
Konteynerlar – turli xil tuzilmalar ob'ektlari va ma'lumotlarini saqlaydi. M-n: massiv, stek, navbat, ro’yxat, to’plam va h-k.
Funksiyalar - STL funksiya chaqiruv operatorini qayta yuklaydigan sinflarni o'z ichiga oladi. Bunday sinflarning misollari funksiya ob'ektlari yoki funktorlar deb ataladi. Funktorlar yuboriladigan parametrlar yordamida bog'langan funktsiyaning ishlashini moslashtirishga imkon beradi.
Iteratorlar - qiymatlar ketma-ketligi ustida ishlash uchun ishlatiladi. Ular STLda umumiylikka imkon beruvchi asosiy xususiyatdir. Iteratorlar bilan ko‘rsatkichlar kabi ishlash mumkin. Ularga *, inkrement, dekrement operatorlarni qo‘llash mumkin. Iterator tipi sifatida xar xil konteynerlarda aniqlangan iterator tip elon qilinadi.
Kontеynеr sinflar
Konteyner sinflar ular sinf shablonlari sifatida amalga oshiriladi, bu elementlar sifatida qo'llab-quvvatlanadigan turlarda katta moslashuvchanlikni ta'minlaydi.
Konteyner o'z elementlari uchun saqlash joyini boshqaradi va ularga to'g'ridan-to'g'ri yoki iteratorlar (ko'rsatkichlarga o'xshash xususiyatlarga ega bo'lgan mos yozuvlar) orqali kirish uchun a'zo funktsiyalarini ta'minlaydi. Konteynerlar quyidagi turlari mavjud.
Chiziqli (ketma-ket) konteynerlar: ketma-ket kirish mumkin bo'lgan ma'lumotlar tuzilmalarini amalga oshirishga imkon beradi. Ketma-ket konteynerlarga quyidagilar kiradi:

  • vector (vektor)

  • list (ro’yxat)

  • deque (dek)

  • arrays (massiv)

  • forward list (yo’naltirilgan ro’yxat)

Konteyner adapterlar: ketma ketligi turlicha bo’lgan tuzilmalardan iborat ketma-ket konteynerlardir. Ular quyidagilar:

  • queue (navbat)

  • priority_queue (ustuvor navbat)

  • stack (stek)

Assotsiativ konteynerlar: tezda qidirilishi mumkin bo'lgan tartiblangan ma'lumotlar tuzilmalarini amalga oshirishga imkon beradi. (murakkabligi O(log n)). Assotsiativ konteynerlar quyidagilardir:

Tartiblanmagan assotsiativ konteynerlar: tezda qidirilishi mumkin bo'lgan tartibsiz ma'lumotlar tuzilmalarini amalga oshiradi:

  • unordered set (tartiblanmagan to’plam)

  • unordered multiset

  • unordered map

  • unordered multimap

2.1. Chiziqli konteynerlar
vector konteyner sinfidan foydalanib, amaliy dasturlar yaratish
Ishning maqsadi: C++ dasturlash tilida vecot sinflaridan foydalanib, konteynernerlardan foydalanish ko‘nikmalarini shakllantirish.
Masalaning qo‘yilishi: vector asosida yaratilgan to‘plam elementlarini vectorning maxsus funksiyalari yordamida qayta ishlash.
13-masala: Avtomobillar haqida (nomi, yili, versiyasi va narxi) to‘plam berilgan. Avtomobillarni nomi, yili, versiyasi va narxi bo‘yicha qidiruvchi hamda topilgan natijani faylga saqlashni taklif qiladigan dastur tuzing.
Dastur matni:



Yüklə 223,43 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin