单链表的整表创建:
单链表的创建不能像顺序循序结构一样通过数组来创建,它的创建应该根据实际情况来,因为单链表的生成是动态的,它从空表开始,一次建立各个元素结点并插入到链表中。
单链表的整表创建思路:
1)声明一个结点p和计数器变量i
2)初始化一个空链表
3)创建一个带头结点的单链表,这时头结点的指针指向null
4)循环实现后继结点的复制和插入
具体建立单链表的方法总结:
1、头插法:顾名思义,头插法就是从空表开始,生成新的结点,读取数据存放进这个新结点的数据域中,这个每一次生成的新结点都被插入到当前的表头上,直到整个单链表创建完成。
一句话,新生成的结点要放在表头的第一个位置。
2、尾插法:和头插法相反,尾插法从空表开始,生成新结点,读取数据存放进这个新结点的数据域中,这个每一次生成的新结点都被插入到当前单链表的尾部,直到整个链表创建完成。
单链表的整表删除思路:
1)声明两个结点p和q
2)将第一个结点赋值给p,将下一个结点赋值给q(声明结点q是因为在删除前一个结点的时候会将前一个结点中指向下一个结点的指针域也释放掉,通过q来存住下一个结点的位置,就能继续删除啦)
3)循环执行释放p和将q赋值给p的操作。
4)记得最后要将单链表释放掉,比如(*L)->next = NULL;