有时我们不用顺序表,而使用链表,是因为顺序表存在一定的问题 1、顺序表的中间/头部的插入、删除需要挪动数据 2、扩容需要申请新空间,拷贝数据,释放旧空间,存在性能的消耗 3、会有空间的浪费 单链表:不带头单向循环链表 双链表:带头双向循环链表 注意:为了避免链表为空的麻烦:可以选择用malloc创建哨兵位,也就是一个无用的头结点,最后最好要将其释放掉 单链表的具体实现: 1、单链表的创建: 2、单链表的打印: 3、结点的申请: 4、链表的尾插、头插: 5、尾删、头删 <