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

curnodeningnextfieldinioldinginodedan keyingi nodega bog'lashimiz kerak.

prevningnextfieldinicurga 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
curnodeni ishga tushiramiz.Yangi
curnodeimizni o'zimizning bosh nodehead nodega bog'laymiz.curnodeni 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?