定义:零个或多个数据元素的有限序列。
线性表中的每个元素要具体有相同类型的数据。
线性表的顺序存储结构的最大的缺点就是插入和删除时需要移动大量的元素,这非常耗时。
单链表结构与顺序存储结构优缺点:
1.存储分配方式:顺序存储结构用一段连续的存储单元依次存储线性表的数据元素。
2.时间性能:查找方面:顺序存储结构0(1)或者是0(n)
插入和删除:顺序存储结构需要平均移动表长一半的元素,时间为0(n)
单链表在线出某位在的指针后,插入和删除时间仅为0(1)
3.空间性能:顺序存储结构需要预分配存储空间,分大了,浪费,分小易发生上益;
循环链表:
p=p1->next;保存p1表的头节点
p1->next=p2->next->next;将本是指向p2的第一个节点赋值给p1->next;
p2->next=p;
free§;
双向链表:
一个点指向后一节点元素,一个指向前一个元素;
struct mynode
{
int m;
struct mynode *prior;
struct mynode *next;
};
插入元素:s->prior=p;
s->next=p->next;
p->next->prior=s;
p->next=s;
删除元素:p->prior->next=p->next;
p->next->prior=p->proir;
线性表:顺序存储结构,链式存储结构
链式存储结构:单链表,静态链表,循环链表,双向链表。