Masivlar va bogʻlangan roʻyxatlar oʻrtasidagi farq

Masivlar va bogʻlangan roʻyxatlar oʻrtasidagi farq
Masivlar va bogʻlangan roʻyxatlar oʻrtasidagi farq

Video: Masivlar va bogʻlangan roʻyxatlar oʻrtasidagi farq

Video: Masivlar va bogʻlangan roʻyxatlar oʻrtasidagi farq
Video: TELEFON RAQAMLARNI BIR-BIRIGA BOG'LASH.TELEFONDA PEREADRESASIYANI YOQISH.ПЕРЕАДРЕСАЦИЯ. 2024, Iyul
Anonim

Masivlar va bogʻlangan roʻyxatlar

Masivlar elementlar toʻplamini saqlash uchun eng koʻp foydalaniladigan maʼlumotlar strukturasidir. Ko'pgina dasturlash tillari massivlarni osongina e'lon qilish va massivlardagi elementlarga kirish usullarini taqdim etadi. Bog'langan ro'yxat, aniqrog'i birma-bir bog'langan ro'yxat, shuningdek, elementlar to'plamini saqlash uchun ishlatilishi mumkin bo'lgan ma'lumotlar strukturasidir. U tugunlar ketma-ketligidan iborat va har bir tugun ketma-ketlikdagi keyingi tugunga havolaga ega.

1-rasmda ko'rsatilgan, odatda massivga qiymatlarni e'lon qilish va belgilash uchun ishlatiladigan kod qismidir. 2-rasmda massiv xotirada qanday ko‘rinishi tasvirlangan.

Rasm
Rasm
Rasm
Rasm

Yuqoridagi kod 5 ta butun sonni saqlashi mumkin boʻlgan massivni belgilaydi va ularga 0 dan 4 gacha indekslar yordamida kirish mumkin. Massivning muhim xususiyati shundaki, butun massiv bitta xotira bloki sifatida ajratiladi va har bir element oʻz maydoniga ega boʻladi. massivda. Massiv aniqlangandan so'ng uning o'lchami o'rnatiladi. Shunday qilib, kompilyatsiya vaqtida massivning o'lchamiga ishonchingiz komil bo'lmasa, xavfsiz tomonda bo'lish uchun etarlicha katta massivni belgilashingiz kerak bo'ladi. Biroq, ko'pincha biz ajratganimizdan kamroq elementlardan foydalanamiz. Shunday qilib, xotiraning katta miqdori aslida behuda ketadi. Boshqa tomondan, agar “etarlicha katta massiv” yetarlicha katta boʻlmasa, dastur ishdan chiqadi.

Bogʻlangan roʻyxat xotirani oʻz xotira blokidagi elementlariga alohida ajratadi va umumiy tuzilma bu elementlarni zanjirdagi boʻgʻinlar sifatida bogʻlash orqali olinadi. Bog'langan ro'yxatdagi har bir element 3-rasmda ko'rsatilganidek, ikkita maydonga ega. Ma'lumotlar maydonida saqlangan haqiqiy ma'lumotlar va keyingi maydon zanjirning keyingi elementiga havolani o'z ichiga oladi. Bog'langan ro'yxatning birinchi elementi bog'langan ro'yxatning boshi sifatida saqlanadi.

ma'lumotlar keyingi

3-rasm: Bog'langan ro'yxat elementi

Rasm
Rasm
Rasm
Rasm

4-rasmda uchta elementdan iborat bog'langan ro'yxat tasvirlangan. Har bir element o'z ma'lumotlarini saqlaydi va oxirgi elementdan tashqari barcha elementlar keyingi elementga havolani saqlaydi. Oxirgi element keyingi maydonda null qiymatga ega. Roʻyxatdagi istalgan elementga boshdan boshlab va kerakli elementga toʻgʻri kelguningizcha keyingi koʻrsatkichga amal qilish orqali kirish mumkin.

Garchi massivlar va bogʻlangan roʻyxatlar ikkalasi ham elementlar toʻplamini saqlash uchun ishlatilishi nuqtai nazaridan oʻxshash boʻlsa-da, ular xotirani uning elementlariga ajratish uchun foydalanadigan strategiyalar tufayli farq qiladi. Massivlar xotirani uning barcha elementlariga bitta blok sifatida ajratadi va massiv hajmi ish vaqtida aniqlanishi kerak. Bu kompilyatsiya vaqtida massiv hajmini bilmaydigan holatlarda massivlarni samarasiz qiladi. Bog'langan ro'yxat xotirani o'z elementlariga alohida ajratganligi sababli, kompilyatsiya vaqtida ro'yxat hajmini bilmaydigan holatlarda bu juda samarali bo'ladi. Bog‘langan ro‘yxatdagi elementlarni e’lon qilish va ularga kirish, uning indekslari yordamida massivdagi elementlarga to‘g‘ridan-to‘g‘ri kirish bilan solishtirganda to‘g‘ridan-to‘g‘ri bo‘lmaydi.

Tavsiya: