Add Operation - Singly Linked List
Agar biz berilgan oldingi node
dan keyin yangi qiymat qo'oshmoqchi bo'lsak:
Berilgan qiymat bilan yangi
cur
nodeni initialize qilishimiz kerak.

cur
nodeningnext
fieldinioldingi
nodedan keyingi nodega bog'lashimiz kerak.

prev
ningnext
fieldinicur
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.
Misol

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.

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 nodehead 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 link
Last updated
Was this helpful?