package mainimport (
"fmt"
)type listnode struct
type list struct
func main()
listdata := headnode
insert(1, listdata, headnode)
insert(2, listdata, headnode)
insert(4, listdata, headnode)
res := find(2, listdata)
fmt.println(res)
//listdata2 := headnode
// //insert(4, listdata2, headnode)
//insert(3, listdata2, headnode)
//insert(2, listdata2, headnode)
//printlist(listdata)
//res := mergetwolists(listdata, listdata2)
}//刪除節點
func delete(value int, list *listnode)
// findprevious ...
func findprevious(value int, list *listnode) *listnode
return p
}// 找出鍊錶裡面的(不安全)
func find(value int, list *listnode) *listnode
return p
}// 測試是否為最後節點 ...
func islast(list *listnode) bool
// 測試鍊錶是否為空 ...
func isempty(list *listnode) bool
// 列印鍊錶 ...
func printlist(list *listnode) else
}// 合併兩個有序的單鏈表 ...
func mergetwolists(l1 *listnode, l2 *listnode) *listnode
if l2 == nil
var res *listnode
if l1.val >= l2.val else
return res
}// 插入節點 頭插法
func insert(value int, list *listnode, position *listnode)
tempcell.val = value
tempcell.next = position.next
position.next = tempcell
}
go 單鏈表 增刪改查
package main import fmt 鍊錶和資料結構 type node struct type list struct 鍊錶是否為空 func this list isempty bool return false 鍊錶長度 func this list length int node ...
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...