第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在鏈表末尾插入項(xiàng)目

在鏈表末尾插入項(xiàng)目

Go
喵喵時(shí)光機(jī) 2021-12-20 15:44:06
我很新去和deicide來實(shí)現(xiàn)一個(gè)鏈表。這是我的源代碼package mainimport "fmt"type Node struct {  value int  next *Node}func main() {  var head *Node  for i := 1; i <= 10; i++ {    insert(&head, i)  }  print_list(head)}func print_list(node_pointer *Node) {  if (node_pointer == nil) {    return  } else {    node := *node_pointer    fmt.Printf("%d\n", node.value)    print_list(node.next)  }}func insert(node_pointer **Node, // pointer to a pointer to a Node    value int) {  var new_node Node  new_node.value = value  if (*node_pointer == nil) {    fmt.Printf("Empty list\n")    *node_pointer = &new_node  } else {    var cur_node Node = **node_pointer    for cur_node.next != nil {      cur_node = *cur_node.next    }    cur_node.next = &new_node    fmt.Printf("Add %d\n", (*cur_node.next).value)      }}輸出是:Empty listAdd 2Add 3Add 4Add 5Add 6Add 7Add 8Add 9Add 101換句話說,我不能在鏈表的末尾插入一個(gè)新節(jié)點(diǎn)。我相信它是由cur_node.next = &new_node僅在本地進(jìn)行更新引起的,但不知道如何解決此問題。
查看完整描述

2 回答

?
ibeautiful

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊

問題出在您的插入功能中 - 這是一個(gè)更正的版本


func insert(node_pointer **Node, // pointer to a pointer to a Node

    value int) {

    var new_node Node

    new_node.value = value


    if *node_pointer == nil {

        fmt.Printf("Empty list\n")

        *node_pointer = &new_node

    } else {

        var cur_node *Node = *node_pointer

        for cur_node.next != nil {

            cur_node = cur_node.next

        }

        cur_node.next = &new_node

        fmt.Printf("Add %d\n", (*cur_node.next).value)

    }

}


查看完整回答
反對(duì) 回復(fù) 2021-12-20
?
翻翻過去那場(chǎng)雪

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊

你的錯(cuò)誤是因?yàn)槟愕玫搅斯?jié)點(diǎn)值,而不是這里的指針:

    var cur_node Node = **node_pointer

*note_pointer是一個(gè)指向列表頭的指針,但你正在使用**node_pointer,然后你得到值,然后將此值復(fù)制到cur_node,然后新節(jié)點(diǎn)將被附加到cur_node,與頭節(jié)點(diǎn)無關(guān)。所以當(dāng)你打印表單頭節(jié)點(diǎn)時(shí),你可以只獲取頭節(jié)點(diǎn)的值。

固定解決方案就像@Nick Craig-Wood 所說的。


查看完整回答
反對(duì) 回復(fù) 2021-12-20
  • 2 回答
  • 0 關(guān)注
  • 123 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)