O`zbekiston respublikasi axborot texnologiyalari va kommunikatsialarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti qarshi filiali tt va kt fakulteti tt 1-22 guruh talabasining dasturlash



Yüklə 1,11 Mb.
səhifə13/14
tarix28.11.2023
ölçüsü1,11 Mb.
#138003
1   ...   6   7   8   9   10   11   12   13   14
dasturlash 4-mustaqil ish

Ta’rif: Bir turga mansub bo’lgan yagona nom bilan saqlanuvchi tartiblangan ma’lumotlar majmuasi massiv deyiladi.
Massivlar yagona o’zgaruvchi bilan kompyuter xotirasiga saqlanadi, uning elementlari ma’lum bir indekslar bilan tartiblab joylashtiriladi. Massivlar yagona nom bilan bir nechta qiymatni o’zida mujassamlashtiradi, bularga matematikadagi vektorlarni misol keltirish mumkin. Vektor ham yagona nom bilan saqlanib uning tarkibida bir nechta qiymatni o’zida mujassamlashadi. Vektorning ham elementlari bir turga mansub va tartiblangan bo’ladi.
Bir o’lchovli massivlar
Odatda massivlar zarurat, katta hajmdagi tartiblangan, lekin chekli elementlarga oid masalalarni hal etishda yuzaga keladi. Dastur ishlatilishi davomida massivlar aniq nomga ega bo’lishi va uning elementlari ma’lum bir turda bo’lishi kerak. Bir o’lchovli massivlar kompyuter xotirasiga quyidagi shaklda saqlanadi


Massiv tarkibida elementlar mavjud bo’ladi. Massivning eng ko’pi bilan ketishi mumkin bo’lgan elementlar soni uning o’lchamini bildiradi. Massivning elementi turgan o’rni uning indeksi deyiladi. Massivning elementiga uning indeksi orqali murojaat qilinadi. Massivning indeksi sifatida butun sonlar xizmat qiladi. Har bir massiv o’zining individual nomiga ega bo’lishi kerak, ya’ni bir xil nomdagi massivlar bo’lmaydi. Ularning nomi oldin e’lon qilingan oddiy o’zgaruvchi nomi bilan ustma-ust tushmasligi kerak.
Statik massivlarni e’lon qilishning umumiy ko’rinishi quyidagicha:


Dinamik massiv (C++ da vektor, Java-da ArrayList) biz kiritishga harakat qilganimizda avtomatik ravishda o'sib boradi va yangi element uchun boshqa joy qolmaydi. Odatda maydon ikki baravar ko'payadi. Oddiy dinamik massivni, odatda, darhol talab qilinadigan elementlar sonidan kattaroq, qat'iy o'lchamdagi massivni ajratish orqali qurish mumkin. Dinamik massivning elementlari asosiy massivning boshida yonma-yon saqlanadi va asosiy massivning oxirigacha qolgan pozitsiyalar saqlangan yoki foydalanilmaydi. Elementlarni dinamik massivning oxiriga doimiy vaqtda, bu bo'sh joy to'liq iste'mol qilinmaguncha, ajratilgan bo'sh joydan foydalanib qo'shish mumkin. Barcha bo'sh joy iste'mol qilinganda va qo'shimcha element qo'shilishi kerak bo'lganda, asosiy o'lchamli massiv hajmini oshirish kerak. Odatda o‘lchamini o‘zgartirish qimmatga tushadi, chunki biz nihoyat elementimizni qo‘shishimizdan oldin kattaroq massiv ajratish va o‘sib chiqqan massivdagi barcha elementlarni nusxalash kerak. Yondashuv: Agar biz massivga elementni kiritsak, lekin massiv to‘la bo‘lsa, siz funksiya yaratasiz, bu funksiya yangi ikki o‘lchamli massiv hosil qiladi yoki siz xohlagancha oldingi massivdagi barcha elementni yangi massivga ko‘chiring va shu yangi massivni qaytaring. Bundan tashqari, biz massiv hajmini kamaytirishimiz mumkin. va berilgan pozitsiyaga element qo'shing, elementni sukut bo'yicha oxirgi va pozitsiyada ham olib tashlang.


Dinamik massivning asosiy xususiyatlari
Element qo'shish: Agar massiv o'lchami etarli bo'lmasa, oxiriga element qo'shing, keyin massiv hajmini kengaytiring va asl massivning oxiriga elementni, shuningdek berilgan indeksni qo'shing. Barcha nusxa ko'chirish O(n) vaqtini oladi, bu erda n - massivimizdagi elementlar soni. Bu qo'shimcha uchun qimmat narx. Ruxsat etilgan uzunlikdagi massivda qo'shimchalar faqat O (1) vaqtni oladi. Ammo qo'shimchalar faqat to'liq massivga kiritganimizda O(n) vaqtini oladi. Va bu juda kam uchraydi, ayniqsa har safar bo'sh joy tugashi bilan massiv hajmini ikki baravar oshirsak. Shunday qilib, ko'p hollarda qo'shish hali ham O (1) vaqt, ba'zan esa O (n) vaqti. Dinamik massivda siz qat'iy o'lchamli massiv yaratishingiz mumkin, agar kerak bo'lsa, massivga yana bir nechta element qo'shiladi va keyin ushbu yondashuvdan foydalaning:

Elementni o'chirish: elementni massivdan o'chirish, standart remove() usuli elementni oxiridan o'chirish, shunchaki oxirgi indeksda nolni saqlash va i indeks bo'lgan removeAt(i) usulini chaqirish orqali ma'lum bir indeksdagi elementni o'chiring. removeAt(i) usuli chap tomondagi barcha o'ng elementni berilgan indeksdan siljitadi.


Yüklə 1,11 Mb.

Dostları ilə paylaş:
1   ...   6   7   8   9   10   11   12   13   14




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə