1. Ro‘yxat (forward list va list); Tasodifiy kirish konteynerlari (deque, vector va array); Statik va dinamik massivlar


Download 42.88 Kb.
bet1/6
Sana15.06.2023
Hajmi42.88 Kb.
#1482115
  1   2   3   4   5   6
Bog'liq
3-mavzu Chiziqli Konteynerlar OK


Mavzu. Chiziqli konreynerlar
Reja:
1. Ro‘yxat (forward_list va list);
2. Tasodifiy kirish konteynerlari (deque, vector va array);
3. Statik va dinamik massivlar (array, vector).

Ketma-ket konteynerlar, assotsiativ konteynerlar, konteynerlarning xususiyatlari, konteyner sinflarning umumiy usullari, chiziqli konteynerlar (array, vector, deque, list, forward_list), konteynerlar bilan ishlash funksiyalari, allocator ajratuvchining vazifasi, bir bog‘lamli ro‘yxat, ikki bog‘lamli ro‘yxat (ikkilangan ro‘yxat) , ikki tomonlama navbat, dinamik massiv (vektor) , static massiv< array>kabi to‘plamlarning vazifalari va usullari keltirilgan bo‘lib, nazariy bilimlarni asoslash uchun dasturlar tuzib ko‘rsatilgan.


Bilimlarni mustahkamlash uchun 11 ta nazariy savol va amaliy ko‘nikma va malakalarni rivojlantrish uchun 1 ta assisment topshirig‘i va assismentda 7 ta topshiriq berilgan. Bu topshiriqlarni bajarish mavzuni mustahkamlash uchun xizmat qiladi.
Kalitso‘zlar. ketma-ket konteynerlar, chiziqli konteynerlar (array, vector, deque, list, forward_list), bir bog‘lamli ro‘yxat, ikki bog‘lamli ro‘yxat (ikkilangan ro‘yxat) , ikki tomonlama navbat, dinamik massiv (vektor) , static massiv < array>, allocator.
Bilish shart bo‘lgan tushunchalar. Tip tushunchasi, sinf va sinf ob’ekti, to‘plam, massiv, elementga murojaat, funksiya va ko‘rsatkich, ma’lumotlarni kirish va chiqishi, oqim, dasturlashga oid dastlabki tushunchalar va C++ tilini qo‘llab quvvatlovchi muhitda ishlashni bilish lozim.
Bilib olasiz. STL kutubxonasining imkoniyati, vector, list, map, set, multimap, multiset, string, wstring, strstream, Satrli oqim kabi to‘lplamlarni ishlatish usullari va vazifalar, Iterator va dinamik ma’lumotlar tuzilmasi ishlatish va turlari, pridekat, konteyner sinflar, ketma-ketkonteynerlar, chiziqli konteynerlar (array, vector, deque, list, forward_list) Xususiyatlarni va funksiyalarini ishlash tamoyllari,
Bir bog‘lamli ro‘yxat, ikki bog‘lamli ro‘yxat (ikkilangan ro‘yxat) , ikki tomonlama navbat, dinamik massiv (vektor) , static massiv< array>kabi konteynerlarni dasturlashdagi o‘rni va allocator orqali yaratish va foydalanish usullarini o‘rganishingiz mumkin.


Kirish
Standart konteynerlarni ikkita katta guruhga chiziqli va assotsiativ konteynerlarga bo‘lishini bilamiz. O‘z navbatida chiziqli konteynerlarni bog‘langan ro‘yxat (forward_list va list) va tasodifiy kirish konteynerlariga (ekrin konteyner deb ham yuritiladi) (deque, vector va array) bo‘linadi. Assotsiativ konteynerlar quyidagi variantlarning kombinatsiyasi bo‘lgan sakkizta konteyner bilan ifodalanadi (tegishli standart sinflar nomlarining qavslar ichida beriladi): to‘plam (*set) yoki lug‘at (*map), elementlarni takrorlashga imkon beruvchi (*multi*) yoki ruxsat bermaydigan, tartibga solingan solinmagan (unordered*).
Barcha konteynerlar iterator va const_iterator tiplarini o‘z ichiga olish uchun o‘z navbatida o‘qish yozish va faqat o‘qish iteratorlarini aniqlaydi. Konteyner tarkibida olgan iteratorlar oralig‘ini begin() va end() (o‘qish yozish uchun iterator), shuningdek cbegin() va cend() (o‘qish uchun const_iterator) funksiyalari yordamida olish mumkin.
Konteynerlar ikki tomonlama iteratorlar bilan ham teskari o‘tish uchun rbegin(), rend(), crbegin() va crend() funksiyalari mavjud. Barcha konteynerlarni empty funksiyasi tomonidan bo‘shligini tekshirish mumkin.
Qachonki cont.begin() == cont.end() bo‘lsa, o‘zgarmas konteyner bo‘sh hisoblanadi. end() konteynerning oxirgi elementidan keyingi shartli elementga havola qiluvchi iteratorni qaytaradi. Elementlar sonini size()funksiyasi yordamida olish mumkin (forward_list bundan mustasno). Konteyner tarkibidagi funksiyalarni tozalash uchun clear() funksiyasidan foylalaniladi (array bundan mustasno).
Iteratorda begin(), end(), cbegin(), cend(), rbegin(), rend(), crbegin() va crend() erkin funksiyalarining shablonlarini aniqlash mumkin. Bular bir xil nomli funksiyalarga havola qilinadi, shuningdek, bunday aniqlangan funksiyalar static massiv va std::val array uchun aniqlandi. for(:) takrorlanish operatori xuddi shunday shakliga tayanadi. Masalan, cr biror konteyner bo‘lsin (shuningdek, static massiv ham bo‘lishi mumkin), shunda dasturda for() fragmenti quyidagicha ishlatiladi.

Download 42.88 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6




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