RAQAMLI TEXNOLOGIYALAR VAZIRLIGI MUHAMMAD AL – XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI FARG‘ONA FILIALI Komyuter injiniringi yo‘nalishi
711-21– guruh talabasi Muhammadiyev Umidjon ning
“DASTURLASH 2” fanidan tayyorlagan
Mustaqil ish Topshirdi: Muhammadiyev Umidjon
Qabul qildi: Umurzakova D. M.
MAVZU: RO’YXATLAR USTIDA AMALLAR BAJARISH. BOG’LANGAN RO’YHATLAR Reja: 1. Bog’langan ro’yxatlar 2. Ikki bog’lamli ro’yxat
3. Halqasimon ro’yxatlar
4. Ko’rsatgichlar bilan ishlash.
5. Adabiyotlar
Kalit so’zlar: ro’yxat, ro’yxat tuzilmasi, statik va dinamik tuzilma, bir bog’lamli ro’yxat, ikki bog’lamli ro’yxat, tugun qo’shish, o’chirish, o’rin almashtirish, xalqasimon ro’yxatlar.
1. Bog’langan ro’yxatlar Oddiy holda har bir tugun uchun bitta ko’rsatkich qo’llaniladi. Har bir elementda o’zidan keyingi elementni ko’rsatuvchi ko’rsatkich mavjud bo’ladi. Ro’yxat oxiridagi elementning ko’rsatkich maydoni NULL qiymatga ega. Ro’yxatni yo’qotib qo’ymaslik uchun shunday bir o’zgaruvchini ajratib olishimiz zarurki, bu o’zgaruvchi ro’yxat “boshi”ni saqlab turishi kerak (2-rasm).
Bir bog’lamli ro’yxat.
Dasturda ikkita yangi ma’lumot turini e’lon qilamiz – ro’yxat tuguni (elementi) Node va unga ko’rsatkich PNode. Tuzilma tuguni o’zida uchta maydonni – satr, butun son va boshqa tugunga ko’rsatkichni saqlaydi. Si tilida ro’yxatni e’lon qilish quyidagicha ko’rinishda bo’ladi:
struct Node { char word[40]; //ma’lumotlar maydoni
int count; Node *next; //keyingi tugunga ko’rsatkich
}; typedef Node *PNode; //turi: tugunga ko’rsatkich
Ro’yxat boshi ko’rsatkichi Head bilan quyidagicha e’lon qilinadi:
PNode Head = NULL;