TA’LIM SIFATINI OSHIRISHDA ZAMONAVIY INNOVATSION TEXNOLOGIYALAR
Abdullayeva M.R. (2023).
Yosh olimlar, doktorantlar va tadqiqotchilarning onlayn ilmiy forumi.
STL
komponentalari va konteynerlarining dasturiy vositalarida qo’llanilishi,
32-35. TATUFF-EPAI.
32
STL KOMPONENTALARI VA KONTEYNERLARINING DASTURIY
VOSITALARIDA QO’LLANILISHI.
Abdullayeva Mohigul Rahimjon qizi
Muhammad Al-Xorazmiy nomidagi TATU Farg’ona filiali “Axborot texnologiyalari”
kafedrasi asissanti
Anotatsiya: Ushbu maqolada STL komponentalari va konteynerlarining qo’llanilishi
hamda ularning dasturlarda ishlatilishi ko'rib chiqilgan. Bundan tashqari funksiyalar
yordamida qo’llanishi tahlil qilingan. Shuningdek maqolada dasturiy vositalar uchun zarur
dastur kodlari keltirilgan.
Kalit so’zlar: STL, konteyner,
dasturiy vosita, algoritmlar, iteratorlar, vector, cbegin,
cend, dasturiy vosita
STL-standart andazalar kutubxonasi bo’lib(STL) - bu dasturlashning umumiy tuzilmalari
va ro'yxatlari, steklari, massivlari va hk kabi funktsiyalarni ta'minlash uchun shablonlar sinflari
to'plami hisoblanadi.
STL uchta tarkibiy qismdan iborat:
Konteynerlar
Algoritmlar
Iteratorlar
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.
Algoritmlar (algorithms) konteyner ichidagilar ustidan operatsiyalar bajaradi.
Konteyner
ichidagilarni initsializatsiyalash, qidirish, saralash va almashtirish uchun algoritmlar mavjud.
Ko‘p algoritmlar konteyner ichidagi elementlarni chiziqi ro‘yxatini ifodalaydovchi ketma-ketlik
(sequence) bilan ishlash uchun mo‘ljallangan.
Iteratorlar (iterators) – bu konteynerga nisbatan ko‘rsatkich sifatida bo‘lgan ob’ektlar.
Ular massiv elementlariga ruxsat oluvchi ko‘rsatkichlar kabi, konteyner
ichidagiga ruxsat olish
imkoni beradi.
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.
Dasturda qo’llaniladigan asosiy funksiyalar quyida keltirilgan.
begin () - Vektordagi birinchi elementga ishora qiluvchi iteratorni qaytaradi
TA’LIM SIFATINI OSHIRISHDA ZAMONAVIY INNOVATSION TEXNOLOGIYALAR
Abdullayeva M.R. (2023). Yosh olimlar, doktorantlar va tadqiqotchilarning onlayn ilmiy forumi.
STL
komponentalari va konteynerlarining dasturiy vositalarida qo’llanilishi,
32-35. TATUFF-EPAI.
33
end () - Vektordagi oxirgi elementga ishora qiluvchi iteratorni qaytaradi
size () - Vektordagi elementlar sonini qaytaradi.
max_size () - Vektor ushlab turishi mumkin bo'lgan maksimal element sonini qaytaradi.
resize (n) - Idishning o'lchamini 'n' elementlari bo'lishi uchun o'zgartiradi.
empty () - konteyner bo'sh yoki yo'qligini qaytaradi.
shrink_to_fit () - Idishning hajmini uning hajmiga
mos ravishda kamaytiradi va
sig‘imdan tashqari barcha elementlarni yo‘q qiladi.
reserve () - vektor sig‘imi kamida n ta elementni o‘z ichiga oladigan darajada bo‘lishini
talab qiladi.
at (g) - Vektordagi ‘g’ holatidagi elementga havolani qaytaradi
front () - Vektordagi birinchi elementga havolani qaytaradi
back () - Vektordagi oxirgi elementga havolani qaytaradi
data () - Vektor tomonidan tegishli elementlarni saqlash uchun ichki ishlatgan xotira
qatoriga to'g'ridan-to'g'ri ko'rsatgichni qaytaradi.
assigned () - U eski elementlarni almashtirish orqali vektor elementlariga yangi qiymat
beradi
Dasturiy vositalarda qo’llanilishi quyidagi ko’rinishda bo’ladi:
#include
#include
using namespace std;
int main ()
{
vector g1;
for (int i = 1; i <= 5; i ++)
g1.push_back (i);
cout << "Hajmi:" << g1.size ()<cout << "Imkoniyat:" << g1.capacity ()<cout << "Max_Size:" << g1.max_size ()<cout << "O'lcham:" << g1.size ()<if (g1.empty () == false)
cout << "Vektor bo'sh emas";
else
cout << "Vektor bo'sh";
g1.shrink_to_fit ();
return 0;
}
Bu dasturiy vositada berilgan konteynerlarning hamji, imkoniyati, maksimal
hajmi va umumiy hajmini toppish uchun algoritmlar ketma-ketligi keltirilgan.