Agar biz berilgan oldingi nodedan keyin yangi qiymat qo'oshmoqchi bo'lsak:
Berilgan qiymat bilan yangi cur nodeni initialize qilishimiz kerak.
currently node
cur nodening next fieldini oldingi nodedan keyingi nodega bog'lashimiz kerak.
link nodes
prev ning next fieldini curga bog'laymiz:
link prev to cur
Massivdan farqli ravishda, qo'shilgan elementdan keyin barcha elementlarni ko'chirishimiz shart emas. Shu sababli, agar sizda prev(oldingisi)ga bog'langan element bo'lsa, O(1) vaqt murakkabligida linked listga yangi node qo'sha olasiz, bu juda samarali.
Misol
linked list example
Keling, 6 qiymatli 2-nodedan keyin yangi 9 qiymatli node qo'shamiz.
Biz birinchi 9 qiymatli yangi node ishga tushiramiz. Keyin node-9 ni node-15 ga bog'laymiz. Va oxiri, node-6 ni node-9 ga bog'laymiz.
Qo'shganimizdan keyin bizning linked listimiz quyidagicha ko'rinadi.
inserted linked list
Boshidan Node qo'shish
Bilamizki, biz butun listni ifodalash uchun bosh node head node dan foydalanamiz.
Demak, listni boshidan yangi qiymat qo'shganimizda head ni yangilash muhim.
Yangi cur nodeni ishga tushiramiz.
Yangi cur nodeimizni o'zimizning bosh node head nodega bog'laymiz.
cur nodeni head node ga biriktiramiz.
Misol uchun, yangi node-9 ni linked listni boshidan qo'shamiz.
9 qiymatli yangi nodeni ishga tushiramiz va node-9 ni hozirgi head node node-23ga bog'laymiz.
link cur to head node
node-9 ni yangi head node qilib belgilaymiz.
assign head node
Note
Ro'yxat oxiriga yangi tugun qo'shish haqida nima deyish mumkin? Shunga o'xshash strategiyadan foydalanishimiz mumkinmi?