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.
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 }
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)
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!