Go語言單鏈表實現方法

2022-09-29 06:09:09 字數 1186 閱讀 9617

1. singlechain.go**如下:

複製** **如下:

//////////

//單鏈表 -- 線性表

package singlechain

//定義節點

type node struct

/** 返回第乙個節點

* h 頭結點

*/func getfirst(h *node) *node

return h.next}/*

* 返回最後乙個節點

* h 頭結點

*/func getlast(h *node) *node

i := h

for i.next != nil

}return nil

}//取長度

func getlength(h *node) int

return i

}//插入乙個節點

//h: 頭結點

//d:要插入的節點

//p:要插入的位置

func insert(h, d *node, p int) bool

i := 0

n := h

for n.next != nil else

}n = n.next

if n.next == nil

}return false

}//取出指定節點

func getloc(h *node, p int) *node

var i int = 0

n := h

for n.next != nil

}return nil

}2. main.go**如下:

複製** **如下:

package main

import "fmt"

import "list/singlechain"

func main()

fmt.println(htoubwsinglechain.getlength(&h))

fmt.println(singlechain.getfirst(&h))

f程式設計客棧mt.println(singlechain.getlast(&h))

fmt.println(singlechain.getloc(&h, 6))

本文標題: go語言單鏈表實現方法

本文位址:

go語言實現單鏈表

package main import fmt 節點結構體 type node struct 鍊錶類 type list struct 建立節點 func createnode data int node 建立鍊錶 func newlist list,0,列印鍊錶 func l list displ...

單鏈表 Go語言實現

單鏈表 雙鏈表 環形鍊錶 head a1 a2 a3 有了頭結點後,對在第乙個元素結點前插入結點和刪除第乙個結點,其操作與對其它結點的操作統一了。優點 缺點 使用場景 不清楚總體大小,且需要頻繁的插入或刪除操作 type linknode struct data使用介面,可以為任意型別,範性 nex...

單鏈表反轉 遞迴實現 GO語言

鍊錶是一種比較常見的資料結構 單鏈表的反轉用遞迴實現比較簡單,這裡簡單講一下。首先定義節點 type node struct下面是反轉遞迴函式,煉表頭比較重要,控制煉表頭不做修改 func reverselist node node node else 舉個例子 鍊錶 1 2 3 4 5 6 nil...