Add Operation - Singly Linked List
Last updated
Was this helpful?
Last updated
Was this helpful?
Agar biz berilgan oldingi node
dan keyin yangi qiymat qo'oshmoqchi bo'lsak:
Berilgan qiymat bilan yangi cur
nodeni initialize qilishimiz kerak.
cur
nodening next
fieldini oldingi
nodedan keyingi nodega bog'lashimiz kerak.
prev
ning next
fieldini cur
ga bog'laymiz:
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.
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.
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 node
ga 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.
node-9 ni yangi head node qilib belgilaymiz.
Note
Ro'yxat oxiriga yangi tugun qo'shish haqida nima deyish mumkin? Shunga o'xshash strategiyadan foydalanishimiz mumkinmi?
© Leetcode