Rumah > Artikel > pembangunan bahagian belakang > Golang melaksanakan senarai terpaut tunggal
Senarai pautan tunggal ialah struktur data yang terdiri daripada satu siri nod, setiap nod mengandungi data dan penuding ke nod seterusnya. Penunjuk nod terakhir senarai terpaut tunggal adalah batal, menunjukkan penghujung senarai terpaut.
Di Golang, kita boleh menggunakan struktur untuk mentakrifkan setiap nod dan penunjuk untuk mewakili kedudukan nod seterusnya. Berikut ialah pelaksanaan senarai pautan tunggal yang mudah:
package main import "fmt" type Node struct { data int next *Node } type List struct { head *Node } func (l *List) Insert(val int) { newNode := &Node{data: val} if l.head == nil { l.head = newNode } else { last := l.Last() last.next = newNode } } func (l *List) Last() *Node { node := l.head for node.next != nil { node = node.next } return node } func (l *List) Traverse() { node := l.head for node != nil { fmt.Printf("%d ", node.data) node = node.next } fmt.Printf(" ") } func main() { l := List{} for i := 0; i < 10; i++ { l.Insert(i) } l.Traverse() }
Dalam pelaksanaan ini, kami mentakrifkan struktur Nod, yang mengandungi data dan penuding seterusnya yang menunjuk ke nod seterusnya. Struktur Senarai mewakili keseluruhan senarai terpaut dan mengandungi penuding kepala yang menunjuk ke nod pertama.
Kaedah Sisip digunakan untuk memasukkan nilai ke dalam senarai terpaut. Jika senarai terpaut kosong, tetapkan nod baharu sebagai kepala jika tidak, cari nod terakhir dan arahkan penunjuk seterusnya ke nod baharu.
Kaedah terakhir mengembalikan nod terakhir senarai terpaut. Bermula dari kepala, lalui keseluruhan senarai terpaut sehingga nod terakhir ditemui.
Kaedah Traverse digunakan untuk melintasi keseluruhan senarai terpaut dan mengeluarkan semua elemen dalam senarai terpaut.
Dalam fungsi utama, kami mencipta contoh Senarai, memasukkan nilai ke dalamnya dan melintasi keseluruhan senarai terpaut untuk mengeluarkan keputusan.
Pelaksanaan di atas hanyalah contoh mudah dan boleh dipanjangkan dan diubah suai mengikut keperluan anda sendiri. Perlu diingat bahawa dalam pembangunan sebenar, semasa menulis senarai terpaut, kita perlu memberi perhatian kepada isu seperti kebocoran memori dan pertimbangan nilai nol penunjuk untuk memastikan keteguhan dan kecekapan kod.
Atas ialah kandungan terperinci Golang melaksanakan senarai terpaut tunggal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!