2022 ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠ°
π¦«Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π² Golang
Π‘Π²ΡΠ·Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ β ΡΡΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°Π±ΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ
, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ Ρ
ΡΠ°Π½ΡΡΡΡ Π² ΡΠΌΠ΅ΠΆΠ½ΡΡ
ΡΡΠ°ΡΡΠΊΠ°Ρ
ΠΏΠ°ΠΌΡΡΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π½Π° Go.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ
Π‘Π²ΡΠ·Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ β ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΡΠ·Π»ΠΎΠ², Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ·Π΅Π» ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π Π°Π·Π»ΠΈΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΡΠ΅, Π΄Π²ΡΡΠ²ΡΠ·Π½ΡΠ΅ ΠΈ ΠΊΠΎΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ²ΡΠ·Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ.
Π£ ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°:
β¬
οΈ Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ·Π»Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π΄Π°Π½Π½ΡΠ΅.
β¬
οΈ Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ·Π»Π΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° β ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ next ββ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ·Π΅Π» ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
β¬
οΈ Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ·Π»Π΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° nil, ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°.
Π£Π·Π΅Π» β ΠΎΡΠ½ΠΎΠ²Π° ΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°
Π ΡΠ΅ΡΠ΄ΡΠ΅ ΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΡΠ·Π»Π°.
Π£ΠΠΠ β ΠΠ’Π Π‘Π’Π ΠΠΠ’ΠΠΠ¬ΠΠ«Π ΠΠΠΠ ΠΠΠ ΠΠΠΠ’ΠΠΠΠΠ , Π ΠΠΠ’ΠΠ ΠΠ Π‘ΠΠΠΠ ΠΠΠ’Π‘Π―: 1) Π‘ΠΠ₯Π ΠΠΠ―ΠΠΠ«Π ΠΠΠΠΠ«Π β Π§Π’Π ΠΠ« ΠΠ« ΠΠ ΠΠ«ΠΠ ΠΠΠ β Π 2) Π£ΠΠΠΠΠ’ΠΠΠ¬ ΠΠ Π’Π, Π§Π’Π Π‘ΠΠΠΠ£ΠΠ’ ΠΠΠΠ¬Π¨Π.
ΠΡΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΡΡ
β Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ ΡΠ·Π»Π°ΠΌΠΈ β ΡΠΏΠΈΡΠΊΠΎΠ² ΠΈ Π΄Π²ΡΡΠ²ΡΠ·Π½ΡΡ
, Π³Π΄Π΅ Ρ ΡΠ·Π»ΠΎΠ² ΠΈΠΌΠ΅ΡΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ·Π»Ρ:
type Node struct {
data int
next *Node
}
type LinkedList struct {
head *Node
}
Π‘ΡΡΡΠΊΡΡΡΠ° Node Π·Π΄Π΅ΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°. Π Π½Π΅ΠΉ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΡΠΏΠΈΡΠΊΠ°:
βͺοΈΠΠΎΠ»Π΅ data ββ ΡΡΠΎ Ρ
ΡΠ°Π½ΠΈΠΌΡΠ΅ Π² ΡΠ·Π»Π΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡ Π·Π°Π΄Π°Π»ΠΈ Π΅ΠΌΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ int, Ρ
ΠΎΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
βͺοΈΠΠΎΠ»Π΅ next ββ ΡΡΠΎ ΡΡΡΠ»ΠΊΠ° ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ·Π΅Π» ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°. ΠΡ ΡΠ·Π»Ρ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΠΏΠΎΡΠΊΡ. ΠΠΎΠ³Π΄Π° ΡΠ·Π΅Π» Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ, ΠΏΠΎΠ»Π΅ΠΌ next ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π° nil ββ ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°.
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Node ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° β Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ, ΠΈ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
Π‘ΡΡΡΠΊΡΡΡΠ° LinkedList ββ ΡΡΠΎ ΡΠ²ΡΠ·Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π² ΡΠ΅Π»ΠΎΠΌ, Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡ ΡΠ·Π»ΠΎΠ²:
βͺοΈΠΠΎΠ»Π΅ head ββ ΡΡΡΠ»ΠΊΠ° ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ·Π΅Π» ΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°. ΠΡΠΎ ΡΠΎΡΠΊΠ° Π²Ρ
ΠΎΠ΄Π° Π² ΡΠΏΠΈΡΠΎΠΊ, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ·Π»ΠΎΠ² Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠΈ.
ΠΠΌΠ΅ΡΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Node ΠΈ LinkedList ββ ΠΎΡΠ½ΠΎΠ²Π° ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π½Π° Go. Π‘ΡΡΡΠΊΡΡΡΠΎΠΉ Node ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΠΊΠ°ΠΊ ΡΡΡΡΠΊΡΡΡΠΈΡΡΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΡΡΡΠΊΡΡΡΠΎΠΉ LinkedList ββ ΠΊΠ°ΠΊ ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΡΡΡΡ Π² ΡΠ΅Π»ΠΎΡΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
.
Π₯ΠΎΡΡ ΡΠ²ΡΠ·Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈ Π±Π΅Π· ΡΠΈΠΏΠ° LinkedList, ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ LinkedList ββ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ ΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°, Π³Π΄Π΅ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΠ΅ΡΡΡ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ, ΠΈ ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΏΠΎΡΠΎΠ± ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ°.
ΠΡΡΠ°Π²ΠΊΠ° Π΄Π°Π½Π½ΡΡ
Π² ΡΠ²ΡΠ·Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ
πΠ§ΠΈΡΠ°ΡΡ
2 ΠΌΠΈΠ½ΡΡΡ
19Β Π΄Π΅ΠΊΠ°Π±ΡΡΒ 2023