Chiziqli ma’lumotlar
tuzilmalari
TAD kafedrasi
Massivlar va vektorlar
Massivni eʼlon qilish
Eslatma
Dasturda massivni eʼlon qilish uchun uning nomini,
elementlar sonini va ularning turini koʼrsatish lozim.
С++да
T
0
а[100]; T
0
b[100][50];
a=(a
1
,a
2
, … , a
100
) – abstrakt bosqich;
…
a
1
a
2
a
100
- fizik bosqich.
bu yerda
T
0
–
biror bir tur; C++da massiv elementlari indeksi 0 dan boshlanadi
Fizik bosqichda translyatorlar massivni qator yoki
ustun koʼrinishida ifodalaydi.
Izoh
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. Shunday hollarda
vector
dan
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.
vector o
‘
zgaruvchi_nomi;
Massivlar va vektorlar
vector vek;
Bu holda vektorga element kiritish quyidagicha amalga oshiriladi:
•
vek.push_back(7);//vector oxiriga yangi element 7 ni kiritish
•
vek.pop_back();//
vektor oxirgi elementini o‘chirish funksiyasi
•
Massivlar va vektorlar
Ro
ʼ
yxatlar
Ro’yxatning
umumiy
ko’rinishiga
misol
:
E
1
, E
2
, ..., E
n
,
(n ≥0
bo’lib n fiksirlanmagan
).
Ro’yxat elementlari soni dastur bajarilishi davomida o’zgarib turishi mumkin
.
Def.1.
Ro
ʼ
yxat deb bir turga tegishli bo
ʼ
lgan elementlar
ketma-ketligiga aytiladi.
Эслатм
а
Ro
ʼ
yxatni
tashkil
etuvchi
elementlar
soni
chegaralanmagan bo
ʼ
lishi mumkin.
R
o’yxatni mantiqiy tasvirlash
Oshkormas(massiv)
Oshkor(
ko’rsatkichli)
Def.1.
1.
Ro’yxatni
tashkil etuvchi elementlar soni n ga
ro’yxat
uzunligi deyiladi.
Misol. Chiziqli ro’yxat
Bog’langan ro’yxat ustida amallar
➢
Ro’yxatga element qo’shish;
➢
Ro’yxatdan elementni o’chirish;
➢
Ro’yxatda elementni qidirish;
➢
Ro’yxat elementlarini chop etish mumkin.
Eslatma: Ro’yxatning ixtiyoriy elementini o’chirish,
ixtiyoriy joyiga element qo’shish mumkin
.
Bog’langan ro’yxat elementlari mantiqiy
tasvirlanishda yozuv(struct yoki slass) kabi ifodalanadi
.
class Node{
•
public
://klass ma’lumotlariga tashqaridan
bo‘ladigan murojaatga ru
xsat berish
•
int info; // informatsion maydon
•
Node* next;// ko‘rsatkichli maydon
•
};
•
int main(){
•
Node *lst = NULL;// ro‘yhat boshi ko‘rsatkichi
•
}
Def.2
.
Agar
dastur
bajarilishi
mobaynida
tuzilma
elementlari va/yoki ular orasidagi munosabatlar
o’zgarib
tursa, u holda bunday tuzilmaga dinamik
tuzilma deyiladi
Ommaviy xizmat
ko’rsatish
turlari
stek
navbat
dek
Dinamik tuzilmalar
Navbat turlari
LIFO (Stack)
FIFO(
Queue
)
DEQ
LIFO
–
Last in - First out
. Stek faqat bir tomoni ochiq tuzilma.
E
n-
1
…
E
2
E
1
yoki
En-1
E2
E1
Yuqori chegara
Stek uchi
Quyi chegara
…
FIFO
–
First in - First out
. Navbat ikki tomoni ochiq tuzilma/
…
E
n-
1
E
2
E
1
чиқиш
кириш
ёки
DEQ - Double Ended Queue.
Ikkita chetga ega navbat.
➢
Tuzilmaga yangi element
qo’shish;
➢
Tuzilmadan elementni
o’chirish;
➢
Tuzilmani
bo’sh yoki bo’sh emasligini aniqlash;
➢
Tuzilmani
to’lalikka tekshirish (agar tuzilma
massiv
ko’rinishda ifodalangan bo’lsa).
Ommaviy xizmat
ko’rsatish
turlaridagi asosiy amallar
Dek so
‘
zi (
DEQ
- Double Ended Queue) ingliz tilidan
olingan bo
‘
lib 2 ta chetga ega navbat degan
ma’noni
bildiradi.
Dek ustida bajariladigan amallar
Chapdan element kiritish.
O
‘
ngdan element kiritish.
Chapdan element chiqarish.
O
‘
ngdan element chiqarish.
Dek bo
‘
shligini tekshirish.
Dek to
‘
laligini tekshirish.
Mavzu bo’yicha nazorat savollari
1.
Ma’lumotlar tuzilmasi deganda nimani tushunasiz?
2.
Ma’lumotlarni tasvirlash bosqichlarini keltirib o’ting.
3.
Ma’lumotlar tuzilmasi klassifikasiyasi qanday amalga
oshiriladi?
4.
Ma’lumotlar tuzilmasini foydalanuvchi dasturidagi turlari.
5.
Qanday ma’lumotlar dinamik yoki statik turdagi ma’lumotlar
tuzilmasi deyiladi?
Dostları ilə paylaş: |