国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類(lèi)導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Golang - Go語(yǔ)言單鏈表實(shí)現(xiàn)方法

Go語(yǔ)言單鏈表實(shí)現(xiàn)方法

2020-04-22 11:02OSC首席鍵客 Golang

這篇文章主要介紹了Go語(yǔ)言單鏈表實(shí)現(xiàn)方法,實(shí)例分析了基于Go語(yǔ)言的單鏈表實(shí)現(xiàn)原理與使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Go語(yǔ)言單鏈表實(shí)現(xiàn)方法。分享給大家供大家參考。具體如下:

1. singlechain.go代碼如下:

 

復(fù)制代碼 代碼如下:
//////////
//單鏈表 -- 線性表
package singlechain
//定義節(jié)點(diǎn)
type Node struct {
    Data int
    Next *Node
}
/*
* 返回第一個(gè)節(jié)點(diǎn)
* h 頭結(jié)點(diǎn)
 */
func GetFirst(h *Node) *Node {
    if h.Next == nil {
        return nil
    }
    return h.Next
}
/*
* 返回最后一個(gè)節(jié)點(diǎn)
* h 頭結(jié)點(diǎn)
 */
func GetLast(h *Node) *Node {
    if h.Next == nil {
        return nil
    }
    i := h
    for i.Next != nil {
        i = i.Next
        if i.Next == nil {
            return i
        }
    }
    return nil
}
//取長(zhǎng)度
func GetLength(h *Node) int {
    var i int = 0
    n := h
    for n.Next != nil {
        i++
        n = n.Next
    }
    return i
}
//插入一個(gè)節(jié)點(diǎn)
//h: 頭結(jié)點(diǎn)
//d:要插入的節(jié)點(diǎn)
//p:要插入的位置
func Insert(h, d *Node, p int) bool {
    if h.Next == nil {
        h.Next = d
        return true
    }
    i := 0
    n := h
    for n.Next != nil {
        i++
        if i == p {
            if n.Next.Next == nil {
                n.Next = d
                return true
            } else {
                d.Next = n.Next
                n.Next = d.Next
                return true
            }
        }
        n = n.Next
        if n.Next == nil {
            n.Next = d
            return true
        }
    }
    return false
}
//取出指定節(jié)點(diǎn)
func GetLoc(h *Node, p int) *Node {
    if p < 0 || p > GetLength(h) {
        return nil
    }
    var i int = 0
    n := h
    for n.Next != nil {
        i++
        n = n.Next
        if i == p {
            return n
        }
    }
    return nil
}


2. main.go代碼如下:

復(fù)制代碼 代碼如下:
package main
import "fmt"
import "list/singlechain"
func main() {
    //初始化一個(gè)頭結(jié)點(diǎn)
    var h singlechain.Node
    //往鏈表插入10個(gè)元素
    for i := 1; i <= 10; i++ {
        var d singlechain.Node
        d.Data = i
        singlechain.Insert(&h, &d, i)
        fmt.Println(singlechain.GetLoc(&h, i))
    }
    fmt.Println(singlechain.GetLength(&h))
    fmt.Println(singlechain.GetFirst(&h))
    fmt.Println(singlechain.GetLast(&h))
    fmt.Println(singlechain.GetLoc(&h, 6))
}

 

希望本文所述對(duì)大家的Go語(yǔ)言程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
  • GolangGolang中Bit數(shù)組的實(shí)現(xiàn)方式

    Golang中Bit數(shù)組的實(shí)現(xiàn)方式

    這篇文章主要介紹了Golang中Bit數(shù)組的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧...

    天易獨(dú)尊11682021-06-09
  • Golanggolang的httpserver優(yōu)雅重啟方法詳解

    golang的httpserver優(yōu)雅重啟方法詳解

    這篇文章主要給大家介紹了關(guān)于golang的httpserver優(yōu)雅重啟的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,...

    helight2992020-05-14
  • Golanggolang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法

    golang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法

    今天小編就為大家分享一篇golang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧 ...

    李浩的life12792020-05-27
  • Golanggo日志系統(tǒng)logrus顯示文件和行號(hào)的操作

    go日志系統(tǒng)logrus顯示文件和行號(hào)的操作

    這篇文章主要介紹了go日志系統(tǒng)logrus顯示文件和行號(hào)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧...

    SmallQinYan12302021-02-02
  • Golanggolang如何使用struct的tag屬性的詳細(xì)介紹

    golang如何使用struct的tag屬性的詳細(xì)介紹

    這篇文章主要介紹了golang如何使用struct的tag屬性的詳細(xì)介紹,從例子說(shuō)起,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看...

    Go語(yǔ)言中文網(wǎng)11352020-05-21
  • Golanggolang 通過(guò)ssh代理連接mysql的操作

    golang 通過(guò)ssh代理連接mysql的操作

    這篇文章主要介紹了golang 通過(guò)ssh代理連接mysql的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧...

    a165861639710342021-03-08
  • GolangGolang通脈之?dāng)?shù)據(jù)類(lèi)型詳情

    Golang通脈之?dāng)?shù)據(jù)類(lèi)型詳情

    這篇文章主要介紹了Golang通脈之?dāng)?shù)據(jù)類(lèi)型,在編程語(yǔ)言中標(biāo)識(shí)符就是定義的具有某種意義的詞,比如變量名、常量名、函數(shù)名等等,Go語(yǔ)言中標(biāo)識(shí)符允許由...

    4272021-11-24
  • Golanggo語(yǔ)言制作端口掃描器

    go語(yǔ)言制作端口掃描器

    本文給大家分享的是使用go語(yǔ)言編寫(xiě)的TCP端口掃描器,可以選擇IP范圍,掃描的端口,以及多線程,有需要的小伙伴可以參考下。 ...

    腳本之家3642020-04-25
主站蜘蛛池模板: 国产91对白叫床清晰播放 | 亚洲狠狠| 精品久久久久久亚洲精品 | 天天操天天干视频 | 电影91久久久| 久久婷婷丁香 | 亚洲一区二区三区 | 久久99精品国产99久久6尤 | 欧美黄色电影在线 | 国产精品成人一区二区三区夜夜夜 | 久久99视频精品 | 一级毛片免费播放 | av网站有哪些 | 一本大道av伊人久久综合 | 欧美日韩在线一区 | 久久综合九色综合网站 | 亚洲专区 变态 另类 | 青草成人免费视频 | 黄毛片网站| 91精品国产手机 | 日韩一区在线播放 | 在线中文字幕观看 | 免费成人看片 | 精品久久久久久久久久久久久久久久久久久 | 婷婷欧美 | 国产精品日产欧美久久久久 | 操操操干干干 | 欧美 日韩 国产 一区 | 一级做a爰片久久毛片免费陪 | 免费啪啪网站 | 欧美视频精品在线 | 91在线高清视频 | 久久综合影院 | 国产精品久久久久久久久软件 | 亚洲免费一区 | 日韩一区二区三区在线观看 | 91视频免费看片 | 久久久久国产精品午夜一区 | 欧美视频网站 | 在线观看午夜 | 毛片在线播放网站 |