链表的概念
单链表:线性表的链接存储结构
存储思想:用一组任意的存储单元存放线性表
不连续 零散分布
单线表存储特点
1.逻辑次序和物理次序不一定相同
2.元素之间的逻辑关系用指针表示
3.单链表是由若干结点构成,每个结点只有一个指针域
typedef struct node
{
Data Type data //数据域
struct node *next //指针域
}Node,*Link
Node为node的别名 Link为node类型的指针别名
Node st1
Link p
4.开辟地址
p=(Link)malloc(sizeof(Node))
5.引用
p->data
p->next
头结点的好处
以便空表和非空表处理统一
单链表的实现
1.单链表的遍历操作
p=head->next
while(p!=NULL)
{ printf("数据data);
p=p->next}
2.求单链表的元素个数
3.单链表的查找操作
4.单链表的插入操作
node=(Link)malloc(sizeof(Node))
node->data=x;
node->next=p->next;
p->next=node
5.头插法
尾插法
6.结点删除
q->next=p->next
free§