数据结构之单链表
单链表是一种链式存取的数据结构,用一组地址任意的存储单元 存放线性表中的数据元素 。链表中的数据是以结点来表示的,每个结点的构成:元素( 数据元素 的映象) + 指针 (指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。
介绍:单链表就是结构体变量和结构体变量 通过指针成员连接在一起,故:单链表就是多个结构体变量。
链表分类
根据链表有无头结点,指针是是否双向,链表是否环状,我们把链表分为以下几种:
带头结点单链表。
无头结点单链表。
双向链表。
双向循环链表。
单链表操作
带头结点的链式结构主要有以下常规操作:
创建链表:创建头结点。
创建结点:为插入做准备。
表头插入。
表尾插入。
指定位置插入。
表头删除。
表尾删除。
指定位置删除。
链表的打印。
插曲:指针如何当做变量使用?
通过赋值变量的地址。
通过动态内存申请。
代码如下:
结构体定义
数据结构中的结构体设计, 一般都是单一个体的抽象,即把整个结构拆开的零件。
创建表头
单链表就是结构体变量和结构体变量 通过指针成员连接在一起,故如果定义一个函数去创建链表,其实就是创建表头,表头也是一个结构体变量,故就是创建结构体变量的过程,然后数据结构一般习惯用指针去表示,指针变成变量,故通过动态内存是申请即可变成变量,最后只需要给变量初始化即可。
单链表的创建表头源码: