void AddFirst (PNode &Head, PNode NewNode) { NewNode->next = Head; Head = NewNode; } Berilganidan keyin tugunni qo'shish
Yangi tugunning NewNodemanzili va ro'yxatdagi mavjud tugunlardan birining p manzili berilgan. Ro'yxatga p manzilli tugundan keyin yangi tugunni qo'shish talab qilinadi. Ushbu operatsiya ikki bosqichda amalga oshiriladi:
1) berilgandan keyingi tugunga yangi tugunning havolasini o'rnatish;
2) berilgan p tugunining havolasini NewNode ga o'rnatish.
Amallar ketma-ketligini o'zgartirib bo'lmaydi, chunki birinchi navbatda p tugunidagi havolani o'zgartirsangiz, keyingi tugunning manzili yo'qoladi.
void AddAfter (PNode p, PNode NewNode) { NewNode->next = p->next; p->next = NewNode; } Tugunni o'chirish
Ushbu protsedura, shuningdek, butun ro'yxatda berilgan tugunni qidirish bilan bog'liq, chunki biz oldingi tugunning havolasini o'zgartirishimiz kerak va unga to'g'ridan-to'g'ri borish mumkin emas. Agar biz o'chirilishi kerak bo'lgan tugunni topgan bo'lsak, biz shunchaki havolani qayta tartibga solishimiz kerak.
Ro'yxatning birinchi elementi olib tashlangan holatlar alohida ko'rib chiqiladi. Tugunni o'chirish u egallagan xotirani bo'shatadi.
Ro'yxatning birinchi elementi olib tashlanganini alohida ko'rib chiqladi. Bunday holda, olib tashlanadigan tugunning manzili Head ro'yxati boshining manzili bilan bir xil bo'ladi va shunchaki Head-ga keyingi elementning manzilini yozish kerak.
if ( q == NULL ) return; // topilmasa chiqish
q->next = OldNode->next;
}
delete OldNode; //XOTIRANI TOZALASH }
Ikki yoqlama bog'langan ro'yxat
Bir yoqlama bog'langan ro'yxatlar bilan bog'liq masalalarning aksariyati oldingi elementga o'tish mumkin emasligidan kelib chiqadi. Xotirada havolani nafaqat keyingi, balki ro'yxatning oldingi elementiga ham saqlash mumkin. Ro'yxatga kirish uchun bitta ko'rsatgich o'zgaruvchisi ishlatilmaydi, lekin ikkitasi - ro'yxatning "boshiga" havola (Head) va "oxiriga" - oxirgi element (Tail).
Har bir tugun (foydali ma'lumotlarga qo'shimcha ravishda) o'zidan keyingi (next maydon) va oldingi (prev maydon) tuguniga havolani o'z ichiga oladi. Oxirgi elementning next maydoni va birinchisining prev maydoni NULL. Tugun quyidagicha e'lon qilinadi: