Rumah > masalah biasa > Cara melaksanakan senarai pautan tunggal dalam bahasa go

Cara melaksanakan senarai pautan tunggal dalam bahasa go

尊渡假赌尊渡假赌尊渡假赌
Lepaskan: 2023-06-09 11:50:19
asal
1509 orang telah melayarinya

Kaedah untuk melaksanakan senarai terpaut tunggal dalam bahasa Go ialah: 1. Cipta fail sampel Go; 2. Tentukan struktur nod senarai terpaut; senarai terpaut; 4. Tentukan Sisipkan atau padam nod baharu pada kedudukan senarai terpaut 5. Dapatkan nilai nod pada kedudukan senarai terpaut yang ditetapkan dan laksanakan operasi seperti penambahan, pemadaman, pengubahsuaian dan pertanyaan nod.

Cara melaksanakan senarai pautan tunggal dalam bahasa go

Sistem pengendalian untuk tutorial ini: Sistem Windows 10, versi Go1.20.1, komputer Dell G3.

Senarai terpaut tunggal boleh dilaksanakan dalam bahasa Go melalui struktur dan penunjuk.

Kaedah khusus adalah seperti berikut:

1 Tentukan struktur nod senarai terpaut

type ListNode struct {
    Val int
    Next *ListNode
}
Salin selepas log masuk

2 penambahan nod. Padam, ubah suai, semak dan operasi lain

// 遍历节点
func (head *ListNode) Traverse() {
for head != nil {
fmt.Println(head.Val)
head = head.Next
}
}
// 在链表头添加新节点
func (head *ListNode) AddAtHead(val int) *ListNode {
node := &ListNode{
Val:  val,
Next: head,
}
return node
}
// 在链表尾添加新节点
func (head *ListNode) AddAtTail(val int) *ListNode {
if head == nil {
return &ListNode{
Val:  val,
Next: nil,
}
}
cur := head
for cur.Next != nil {
cur = cur.Next
}
cur.Next = &ListNode{
Val:  val,
Next: nil,
}
return head
}
// 在链表指定位置插入新节点
func (head *ListNode) AddAtIndex(index, val int) *ListNode {
if index <= 0 {
return head.AddAtHead(val)
}
cur := head
for i := 0; i < index-1 && cur != nil; i++ {
cur = cur.Next
}
if cur == nil {
return head
}
node := &ListNode{
Val:  val,
Next: cur.Next,
}
cur.Next = node
return head
}
// 删除链表指定位置的节点
func (head *ListNode) DeleteAtIndex(index int) *ListNode {
if index < 0 {
return head
}
if index == 0 {
return head.Next
}
cur := head
for i := 0; i < index-1 && cur != nil; i++ {
cur = cur.Next
}
if cur == nil || cur.Next == nil {
return head
}
cur.Next = cur.Next.Next
return head
}
// 获取链表指定位置的节点值
func (head *ListNode)
Salin selepas log masuk

Atas ialah kandungan terperinci Cara melaksanakan senarai pautan tunggal dalam bahasa go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan