久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Go語(yǔ)言怎么刪除鏈表元素

共計(jì) 867 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。

在 Go 語(yǔ)言中,我們可以使用指針來(lái)刪除鏈表中的元素。首先,我們需要定義一個(gè)鏈表節(jié)點(diǎn)的結(jié)構(gòu)體,其中包含一個(gè)值和一個(gè)指向下一個(gè)節(jié)點(diǎn)的指針。然后,我們可以使用指針遍歷鏈表,找到需要?jiǎng)h除的節(jié)點(diǎn),并將其前一個(gè)節(jié)點(diǎn)的指針指向需要?jiǎng)h除節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn),從而刪除該節(jié)點(diǎn)。

下面是一個(gè)示例代碼,演示了如何刪除鏈表中的元素:

package main

import "fmt"

// 鏈表節(jié)點(diǎn)結(jié)構(gòu)體 
type ListNode struct {Val  int
    Next *ListNode
}

// 遍歷鏈表打印所有節(jié)點(diǎn)的值 
func printList(head *ListNode) {
    cur := head
    for cur != nil {fmt.Printf("%d ", cur.Val)
        cur = cur.Next
    }
    fmt.Println()}

// 刪除鏈表中的指定元素 
func deleteNode(head *ListNode, val int) *ListNode {// 頭節(jié)點(diǎn)特殊處理 
    if head.Val == val {return head.Next
    }

    cur := head
    for cur.Next != nil {// 找到需要?jiǎng)h除的節(jié)點(diǎn) 
        if cur.Next.Val == val {
            cur.Next = cur.Next.Next
            return head
        }
        cur = cur.Next
    }

    return head
}

func main() {// 創(chuàng)建鏈表 1 -> 2 -> 3 -> 4 -> 5
    head := &ListNode{Val: 1}
    node2 := &ListNode{Val: 2}
    node3 := &ListNode{Val: 3}
    node4 := &ListNode{Val: 4}
    node5 := &ListNode{Val: 5}
    head.Next = node2
    node2.Next = node3
    node3.Next = node4
    node4.Next = node5

    // 刪除鏈表中的元素 3
    head = deleteNode(head, 3)

    // 打印刪除元素后的鏈表 
    printList(head)
}

運(yùn)行上述代碼,輸出結(jié)果為:1 2 4 5,表示成功刪除了鏈表中的元素 3。

丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2024-03-21發(fā)表,共計(jì)867字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 海淀区| 大丰市| 中江县| 旺苍县| 金山区| 堆龙德庆县| 屏山县| 新平| 德兴市| 莎车县| 吉木萨尔县| 双流县| 金寨县| 长葛市| 台中市| 武夷山市| 胶南市| 大足县| 门源| 张家川| 环江| 扶绥县| 庆阳市| 松阳县| 奉新县| 荃湾区| 清河县| 河南省| 安顺市| 勃利县| 南江县| 临沧市| 遂宁市| 剑河县| 桐梓县| 玉门市| 太仆寺旗| 东丰县| 牟定县| 随州市| 瑞丽市|