——对于顺序存储结构的线性表的整表创建,我们可以用数组的初始化来直观理解。
——而单链表和顺序存储结构就不一样了,它不像顺序存储结构数据这么集中,它的数据可以是分散在内存各个角落的,它的增长也是动态的。
——对于每个链表来说,它所占用空间的大小和位置是不需要预先分配划定的,可以根据系统的情况和实际的需求即时生成。
——人生的追求就要像单链表一样,灵活应变!
单链表整表创建的算法思路如下:
- 声明一结点p和计数器变量i;
- 初始化一空链表L;
- 让L的头结点的指针指向NULL,即建立一个带头结点的单链表;
- 循环实现后继结点的赋值与插入。
一、头插法建立单链表
简单来说,就是把新加进的元素放在表头后的第一个位置:(next顾名思义就是下一个结点)
- 先让新结点的next指向头结点(第一个结点)之后
- 然后让表头的next指向新结点
用现实环境模拟的话就是插队的方法,始终让新结点插在第一的位置。
- 一开始head指向NULL
- head指向f
- 接下来head指向i