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

Cara melaksanakan senarai pautan tunggal dalam bahasa go

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌asal
2023-06-09 11:50:191538semak imbas

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
}

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!

Kenyataan:
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