- 线性表是具有相同特性数据元素的一个有限序列。
- 顺序表是线性表的一种,在逻辑结构上具有一对一关系,每一个结点有且只有一个前驱和后继结点,表头没有前驱结点,表尾没有后继结点
- 顺序表的优点
1、存储密度大
2、可以随机存取表中的任一元素,时间复杂度为O(1)
- 顺序表的缺点
1、在插入,删除的时候,需要移动大量的元素,时间复杂度为O(n^2)
2、实际情况无法预知顺序表的容量大小,定义一个存储数组时,容易造成存储空间浪费
3、属于静态存储形式,数据元素的个数不能自由扩充
- 顺序表的代码实现(c语言,主要操作是删除和插入)
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 10
typedef struct SqList
{
int *data;
int length;
}SqList;
void InitSqList(SqList *L)
{
L->data = (int*)malloc(sizeof(int)*MAXSIZE);
if(L->data)
printf("空间分配成功\n");
L->length = 0;
}
void WriteSqList(SqList *L)
{
for