571
社区成员
发帖
与我相关
我的任务
分享1.定义链表节点结构体
type node struct {
Data int //链表节点的数据域
Next *node //链表节点的后继节点指针
}
2.初始化链表
func InitList() *node {
return &node{Next: nil}
}
3.往链表插入新节点
func (lnode *node) InsertNode(data int) {
addNode := new(node)
addNode.Data = data
addNode.Next = lnode.Next
lnode.Next = addNode
}
4.删除链表节点
func (lnode *node) DeleteNode(data int) {
if lnode == nil {
fmt.Printf("空链表")
return
}
for lnode.Next != nil {
if lnode.Next.Data == data {
lnode.Next = lnode.Next.Next
}
lnode = lnode.Next
}
}
5.遍历链表节点
func (lnode *node) TraverseList() {
for lnode.Next != nil {
fmt.Printf("%d\n", lnode.Next.Data)
lnode = lnode.Next
}
}
6.运行代码以及结果截图
func main() {
var list *node = InitList()
for i := 1; i < 10; i++ {
list.InsertNode(i)
}
list.TraverseList()
list.DeleteNode(8)
fmt.Printf("删除一个节点后的遍历:\n")
list.TraverseList()
}
版本库链接:https://github.com/xiiwu/Linktable.git
作者:200