PNode turi nomidagi birinchi «P» harfi inglizcha pointer (ko’rsatkich) so’zidan olingan. Dasturning boshlang’ich holatida ro’yxatda hech qanday element mavjud bo’lmaydi, shuning uchun ham Head ko’rsatkichi nol adres NULL bilan belgilangan. Ro’yxat elementini hosil qilish va unga yangi tugun qo’shish. Ro’yxatga tugunini hosil qilish uchun xotirani ajratish va ajratilgan xotira bloki adresini saqlab qo’yish zarur bo’ladi. Yangi tugun hosil qilish funktsiyasini yaratamiz. Shunga alohida e’tibor berish kerakki, tugunga yangi ma’lumot (qiymat)ni yozish uchun tuzilmaning ko’rsatkich maydoni adresi bo’yicha murojaat qilinadi.
PNode CreateNode (char NewWord[]) { PNode NewNode = new Node; // yangi tugun ko’rsatkichi
strcpy(NewNode->word, NewWord);// so’zni yozish
NewNode->count = 1;// so’z schetchigi = 1
NewNode->next = NULL;// keyingi tugun mavjud emas
return NewNode;// funktsiya tugun adresini qaytaradi
} Ushbu funktsiya natijasini ro’yxatga qo’shish kerak (ro’yxat boshidan, oxiridan yoki o’rtasidan).
Ro’yxat boshidan tugun qo’shish. Ro’yxat boshiga yangi tugun NewNode ni qo’shish uchun:
1) mavjud ro’yxatning boshiga yangi tugun NewNode ning ko’rsatkichi o’rnatiladi;
2) ro’yxat boshi ko’rsatkichini yangi tugunga o’rnatish
Ro’yxat boshiga element qo’shish sxemasi.
Ushbu sxema bo’yicha ishlab chiqilgan AddFirst protsedurasini qo’yidagicha bo’ladi. Bundan ko’rinadiki, ro’yxat boshi adresi Head da saqlanadi. Muhimi, ro’yxat boshi adresi ko’rsatkich orqali beriladi, yuqoridagi sxema bo’yicha yangi tugun qo’shilsa, protsedura ichida o’zgartirishlar amalga oshiriladi.
void AddFirst (PNode &Head, PNode NewNode) { NewNode->next = Head; Head = NewNode; } Berilgan tugundan keyin yangi tugun qo’shish. Yangi tugun NewNode adres iva oldindan mavjud ro’yxatning biror tuguni adresi p berilgan bo’lsin. Berilgan radresdan keyin yangi tugun qo’yish talab qilingan bo’lsin. Bu amal ikki bosqichda bajariladi:
1) berilgan tugundan keyingi tugunga yangi qo’shiladigan tugun ko’rsatkichini o’rnatish;
2) berilgan tugunning r ko’rsatkichni yangi NewNode tugunga o’rnatish
Ro’yxatning berilgan tugunidan keying yangi tugun qo’shish sxemasi.
4-rasmda keltirilgan sxemadagi amallar ketma-ketligini almashtirish mumkin emas, chunki berilgan tuguning r ko’rsatkichini birinchi alamashtirish amali bajarilsa, u holda undan keyin turgan tugunning adresini yo’qotib qo’yishimiz mumkin. Ushbu amallarni bajarish uchun funktsiya quyidagi ko’rinishda bo’ladi: