小女子最近苦于单链表的一些操作函数,终于有所领悟,急忙想跟和我一样晕头的同学一起分享,写的不对的地方还请大家多多指教哦!同样期待大神的指点!
那么先说一下数组和链表吧!
数组的缺点:我们一般用的传统数组的长度都要事先设定,内存由系统分配,函数调用结束后系统自动回收,不能跨函数调用。
链表:内存空间不要求连续,插入和删除操作灵活
链表是由头结点,首结点,普通结点和尾结点组成的 。
结点存储了两部分信息
:
1 ,数据
2,存放下一个结点的结点指针
头节点:链表的第一个结点,不存放数据,指针存放首节点的地址
头指针:指向头结点的指针,通过头指针可以遍历链表,对链表进行所有操作
首结点:第一个存放数据的结点
尾结点:存放有效数据,但是指针为NULL
首先需要变量包含两个信息,那么会想到结构体,结构体里的成员一个是数据,另一个是指针,那么这个指针应该定义什么类型呢?因为指针是指向下一个结点的,而下一个结点又包含了两部分信息,所以我们这样定义: