AMALIY MASHG’ULOT- 5
Mavzu: STL komponentalar va konteynerlar bilan tanishish. Shablonlar
standart kutubxonasining tuzilmasi. Foydalanuvchining shablonlari.
Ishdan maqsad: Ushbu laboratoriya ishining
maqsadi talabalar STL
componentlar mavjudligini va ularning samaradorliklarini baholashni o‘rganishlari
kerak. Shu asosda konteyner usullarini qiyosiy tahlil qilishlari, C++ dasturlash tilida
vektor bilan ishlashni va ularga oid dasturlar tuzishni o‘zlashtirishlari kerak.
Qo‘yilgan masala: Talabalar topshiriq variantiga mos vectorlar yordamida
masalani yechish dasturini yaratish ko‘nikmasiga ega bo‘lishlari kerak.
Ish tartibi:
1.
Tajriba ishi nazariy ma’lumotlarini o‘rganish;
2.
Berilgan topshiriqning algoritmini ishlab chiqish;
3.
C++ dasturlash muhitida dasturni yaratish;
4.
Natijalarni tekshirish;
5.
Hisobotni tayyorlash va topshirish.
Standart shablonlar kutubxonasi (STL) - bu dasturlashning umumiy tuzilmalari
va ro'yxatlari, steklari, massivlari va hk kabi funktsiyalarni ta'minlash
uchun
shablonlar sinflari to'plamihisiblanadi.
STL uchta tarkibiy qismdan iborat:
1.
Konteynerlar
2.
Algoritmlar
3.
Iteratorlar
Ushbu uchta komponent bir-biri bilan sinergiyada birgalikda ishlaydi va turli xil
dasturiy echimlarni qo'llab-quvvatlaydi. Algoritm konteynerlarda saqlanadigan
operatsiyani bajarish uchun iteratorlardan foydalanadi.
Konteyner - bu xotirada ma'lumotlarni uyushgan tartibda saqlaydigan ob'ekt.
STL-dagi konteynerlar shablon sinflari tomonidan amalga
oshiriladi va shuning
uchun har xil turdagi ma'lumotlarni saqlash uchun ularni osonlikcha o'zgartirish va
sozlash mumkin. Konteynerlarda joylashgan ma'lumotlarni qayta ishlash uchun
ishlatiladigan protsedura algoritm sifatida belgilanadi. STL boshlang'ich,
qidirish,
nusxalash, saralash va birlashtirish, nusxalash, saralash va birlashtirish kabi
vazifalarni qo'llab-quvvatlash uchun juda ko'p turli xil algoritmlarni o'z ichiga oladi.
Algoritmlar shablon funktsiyalari bilan amalga oshiriladi.
Konteynerlar
STL uchta toifaga birlashtirilgan o'nta konteynerni belgilaydi.
Vektorlar element kiritilganda yoki o'chirilganda
avtomatik ravishda
o'lchamlarini o'zgartirish qobiliyatiga ega bo'lgan dinamik massivlar bilan bir xil,
ularni saqlash konteyner tomonidan avtomatik ravishda boshqariladi.
Vektor
elementlari tutashgan omborga joylashtiriladi, shunda ularga iteratorlar yordamida
o'tish va o'tish mumkin. Vektorlarda ma'lumotlar oxiriga kiritiladi. Oxirida qo'shish
differentsial vaqtni oladi, chunki ba'zida qatorni kengaytirishga
ehtiyoj paydo
bo'lishi mumkin. Oxirgi elementni olib tashlash faqat doimiy vaqtni oladi,
chunki
o'lchamlarning o'zgarishi bo'lmaydi.