文章目录
一、Golang数据结构-单链表
1.基本介绍
单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据
2.处理方法
一般来说,为了比较好的对单链表进行增删改查的操作,我们都会给他设置一个头结点,头结点的作用主要是用来标识链表头,本身这个结点不存放数据
二、使用步骤
1.使用一个结构体管理单链表
代码如下:
package main
import(
"fmt"
)
//定义一个StudentNode
type StudentNode struct{
no int
name string
age int
next *StudentNode
}
2.添加链表数据(方法一)
代码如下:
//给链表插入一个结点
//单链表插入 第一种方法 从链表尾端插入
func InsertStudentNode(head *StudentNode, newStudentNode *StudentNode){
//1. 先找到该链表最后的结点
//2. 创建一个辅助结点
temp := head
for {
if temp.next == nil{
//表示找到最后结点
break
}
temp = temp.next //让temp不断指向下一个结点
}
//3. 将newStudentNode加入到链表最后
temp.next = newStudentNode
}
2.添加链表数据(方法二)
代码如下:
//给链表插入一个结点
//单链表插入 第二种方法 根据no 的编号从小到大排序
func InsertStudentNode2(head *StudentNode, newStudentNode *StudentNode){
//1. 先找到该链表最后的结点
//2. 创建一个辅助结点
temp := head
flag := true
for {
if temp.next == nil {
//说明到链表最后
break