单链表
1. 链表的概念以及结构
概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
单链表结构:

注意:
- 从图上可以看出,单链表在逻辑结构上是连续的,但是物理结构上不一定连续。
- 在实际过程中我们单链表的节点都是从堆上申请出来的。
- 从堆上的空间是编译器分配出来的,因此申请的空间地址有可能连续,也有可能不连续。
2. 单链表的模拟实现
接口总览
typedef int SLDataType;
struct SListNode {
SLDataType data;
struct SListNode* next;
};
// 打印链表
void SLPrint(SLNode* plist);
// 尾插
void SLPushBack(SLNode** plist, SLDataType num);
// 头插
void SLPushFront(SLNode** plist, SLDataType num);
// 尾删
void SLPopBack(SLNode** plist);
// 头删
void SLPopFront(SLNode** plist);
// 查找链表中的元素
SLNode* SLFind(SLNode* plist, SLDataType num);
// 在任意位置插入元素
void SLInsert(SLNode** plist, SLNode* pos, SLDataType num);
// 删除任意位置的元素
;
;





