Algoritmlash va dasturlashda operativ xotirada ma’lumotlarning dinamik(o’zaruvchan)to’plamlarini saqlashga ehtiyoj tug’iladi. Ma’lumotlarning dinamik to’plami deganda algoritm bajarilishi jarayonida o’zgaruvchi to’plam tushuniladi. Ko’p hollarda dinamik to’plamlarni saqlashda massivlardan foydalanish noqulaydir. Chunki massivlarning belgilangan o’zgarmas xajmi bilan dinamik to’plamning o’zgaruvchan xajmi bir-biriga to’g’ri kelmaydi. Bunda massiv xajmini dinamik ob’ektning maksimal xajmiga teng qilib olishga to’g’ri keladi. Ammo bunday usul operativ noeffektiv foydalanish muammosini tug’diradi. Shu sababli dinamik ma’lumotlarni saqlash va qayta ishlash uchun maxsus ma’lumot tuzilmalaridan foydalaniladi6. Ma’lumotlarning dinamik tuzilmalari chiziqli va tarmoqli turlarga bo’linadi.
Ro’yхаt – bu bеrilgаnlаrning kеtmа-kеt tаshkillаshtirilgаn strukturаsidir.Chiziqli ro’yхаtlаrning mаssivlаrdаn fаrqi shundаki, ulаr dаstur bаjаrilishi jаrаyonidа o’z хаjmini o’zgаrtirish imkоniyatigа egа. Binоbаrin ro’yхаtlаrning хаjmi оldindаn аniqlаnmаydi. Chiziqli ro’yхаtni zаnjir qismlаri ko’rinishidа tаsvirlаsh mumkin:
Ma’lumotlarning chiziqli tuzilmalari ro’yxatlar, cteklar, navbatlar va siklik ro’yxatlar deb ataluvchi turlarga bo’linadi. Ushbu ma’lumot tuzilmalari elementlari zanjir hosil qilib, har bir element ko’rsatkich yordamida o’zidan oldingi yoki o’zidan keyingi elementlarga ko’rsatadi. Ro’yxat boshidagi element head (bosh), oxiridagi element tail (dum) deb ataladi (1-rasm).
1-rasm. Ikki yo’nalishli ro’yxat.
Ro’yxatlar. Bunda to’g’ri to’rtburchaklar bilan ro’yxat elementlari ifodalangan. Elementlar ikki qismdan iborat: yozuv sohasi(ma’lumotlar) va adres sohasi. Adres sohasi keying yoki oldingi elementga murojaat ko’rsatkichini saqlaydi. Ro’yxatning barcha elementlariga murojaat qilish uchun ro’yxat boshi yoki oxirining adresi kifoya qiladi. Ro’yxatlar bir yo’nalishli va ikki yo’nalishli bo’lishi mumkin.
Steklar. “Oxirgi kelgan birinchi ketadi” (LIFO -Last In First Out), tamoyili asosida tashkil etilgan ro’yxatlar steklar deb ataladi. Stekda ixtiyoriy lementlarni o’chirish man qilinadi. Bu erda faqat oxirgi elementni o’chirishga ruxsat etiladi. Steklar quyidagi tarzda tashkil etiladi:
Stekning har bir elementi (birinchi elementdan tashqari) o’zidan oldingi elementga murojaatga ega bo’ladi;
– Stekka murojaat uchun oxirgi element adresi qo’llaniladi ( Tail);
– Yangi element stek oxiriga joylashtiriladi;
– Faqat oxirgi element o’chiriladi.