package main
import "fmt"
type Node struct{
key interface{}
next *Node
}
type Link struct {
root *Node
}
type linkMethod interface {
addValue(value interface{})
findValue(value interface{})*Node
print()
getSize()uint64
}
func (link *Link) addValue(value interface{}){
root:=link.root
if root==nil{
next:=Node{key:value}
link.root=&next
return
}
for root.next!=nil{
root=root.next
}
next:=Node{key:value}
root.next=&next
}
func (link Link) findValue(value interface{})*Node{
if link.root==nil{
return nil
}
root:=link.root
for root!=nil{
if root.key==value{
return root
}
root=root.next
}
return nil
}
func (link Link) print(){
root:=link.root
for root!=nil{
fmt.Print(root.key," ")
root=root.next
}
}
func (link Link)getSize()uint64{
root:=link.root
var size uint64=0
for root!=nil{
size++
root=root.next
}
return size
}
func main(){
link:=Link{root:nil}
link.addValue(5)
link.addValue(56)
link.addValue(2)
link.addValue(6)
link.print()
}
简单用golang实现链表
最新推荐文章于 2024-05-22 15:57:05 发布
本文详细介绍了在Go语言中如何定义和操作链表数据结构,包括添加元素、查找元素、打印链表以及获取链表大小等核心方法的实现。
540

被折叠的 条评论
为什么被折叠?



