简介
本次将使用Golang实现单链表结构,主要实现以下功能:
- 可以存放各种类型的元素(interface{})
- 获取是否为空(无头节点)
- 获取长度
- 获取头结点
- 从头部、尾部、指定位置添加元素
- 删除指定元素
- 删除指定位置元素
- 判断是否包含哪个元素
开始
结构
接下来首先定义单链表的数据结构
首先定义节点结构体
type Node struct {
Data interface{}
Next *Node
}
Data 是一个interface{}类型,可存放任意类型数据。
Next 是Node指针,指向链表的下一个节点
接着定义头结点结构体
type List struct {
headNode *Node
}
这个结构体用于存放头节点,单链表只需要知道头节点,其他的节点由头结点的Next指针查找,顺藤摸瓜
函数
接下来为这个单链表创建各种函数,能够实现各个功能
判断是否为空
func (list *List) IsEmpty() bool {
return list.headNode == nil
}
获取长度
func (list *List) Length() int {
current := list.headNode
count := 0

本文使用Golang详细介绍了如何实现单链表,包括定义节点结构体、头结点结构体,以及实现判断链表是否为空、获取长度、添加元素、删除元素等操作,并进行了初步的测试。
最低0.47元/天 解锁文章

306

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



