Bog'liq YL4T1jxHED8e6Wq9bG1Ecg1Jp5HFU2eZgokuwsqH (1)
Boshqa ma'lumotlar tuzilmalari bilan taqqoslash
Ro'yxat ma'lumotlar tuzilmalarini taqqoslash
Bog'langan ro'yxat
Array
Dinamik qator
Balansli daraxt
Tasodifiy kirish ro'yxati
Massa daraxti
Indekslash
Θ (n)
Θ (1)
Θ (1)
Θ (log n)
Θ (log n)[9]
Θ (1)
Qo'shish / o'chirish boshida
Θ (1)
Yo'q
Θ (n)
Θ (log n)
Θ (1)
Θ (n)
Qo'shish / o'chirish oxirida
Θ (1) oxirgi bo'lganda element ma'lum; Θ (n) qachon oxirgi element noma'lum
Yo'q
Θ (1) amortizatsiya qilingan
Θ (log.) n)
Yo'q [9]
Θ (1) amortizatsiya qilingan
Qo'shish / o'chirish o'rtada
qidirish vaqti + Θ (1)[10][11]
Yo'q
Θ (n)
Θ (log.) n)
Yo'q [9]
Θ (n)
Bo'sh joy (o'rtacha)
Θ (n)
0
Θ (n)[12]
Θ (n)
Θ (n)
Θ (√n)
Vektorlar C++ dasturlash muhitida ma’lumotlarni massivdan tashqari sal boshqacharoq usulda saqlashning yana bir turi mavjud, ya’ni vektorlar. Vektor elementlari ustida massiv elementlari ustida bajariladigan amallarni bajarish mumkin.
Vektorlar C++ dasturlash muhitida ma’lumotlarni massivdan tashqari sal boshqacharoq usulda saqlashning yana bir turi mavjud, ya’ni vektorlar. Vektor elementlari ustida massiv elementlari ustida bajariladigan amallarni bajarish mumkin.
Ma’lumotlarni massivda saqlashda elementlar soni oldindan ma’lum bo‘lishi kerak. Ayrim paytlarda massivga nechta element kiritilishi ma’lum bo‘lmaydi va o‘shanda dinamik dasturlashdan foydalanish kerak bo‘ladi, ya’ni massivga qo‘shiladigan elementga xotira ajratishga to‘g‘ri keladi. Shunday hollarda vector klassidan foydalanish mumkin. Vector klassi o‘zgaruvchan uzunlikdagi massiv yaratishga yordam beradi. Vektor bu elementlari soni oldindan ma’lum bo‘lmagan bir xil toifadagi elementlar ketma-ketligidir. Vektorning massivdan farqi, vector uzunligi oldindan berilmaydi va u dastur bajarilishi mobaynida o‘zgarib turadi. Vektor yaratish uchun kutubxonasiga ulanish kerak, ya’ni dastur boshida
#include qatori bo‘lishi kerak va vektorni e’lon qilishning 2 ta usuli mavjud
– vektor uzunligini ko‘rsatadu va
- bo‘sh vektor ko‘rinishida.
vector o‘zgaruvchi_nomi;Masalan, vector test; bu yerda int toifali, test nomli bo‘sh vektor yaratildi. Vektor elementlariga indeks orqali murojaat qilib bo‘ladi, lekin bu ko‘rinishda vektor yaratilganda vektor elementiga indeks bilan murojaat qilib qiymat berib bo‘lmaydi, ya’ni quyidagi dastur kodi noto‘g‘ri:
vector o‘zgaruvchi_nomi;Masalan, vector test; bu yerda int toifali, test nomli bo‘sh vektor yaratildi. Vektor elementlariga indeks orqali murojaat qilib bo‘ladi, lekin bu ko‘rinishda vektor yaratilganda vektor elementiga indeks bilan murojaat qilib qiymat berib bo‘lmaydi, ya’ni quyidagi dastur kodi noto‘g‘ri:
vector vek; vek[0]=123; vek[1]=234;Bu holda vektorga element kiritish quyidagicha amalga oshiriladi:
vek.push_back(7);//vector oxiriga yangi element 7 ni kiritish vek.push_front(17);//vector boshiga yangi element 17 ni kiritish
vek.pop_back();// vektor oxirgi elementini o‘chirish funksiyasi