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.