要求: 创建一个空链表, 可以从头部插入任意数据, 也可以从尾部插入, 再遍历出来
分析: 首先肯定是需要一个链表型的结构体
再用一个结构体分别指向链表的头和尾两个节点
向链表添加元素时, 动态修改两个指针的指向
主要弄清楚二者的关系就好理解了, 关系如下图:
上面是结构体链表
/*创建链表结构体, 用于表示实际链表上的节点*/
type LinkNode struct {
data interface{} // 数据为任意类型
next *LinkNode
}
下面只是一个结构体变量, 有两个指针, 始终指向链表的头节点和尾节点
随着链表节点增加, 分别更改这两个指针就行了
/*创建结构体, 用于代表链表的头节点和尾节点*/
type OneNode struct {
head *