线性表的定义
线性表是相同类型数据元素构成的有序序列的线性结构
- 表中元素个数为线性表的长度
- 没有元素时为空表
- 表头:起始位置
- 表尾:表结束位置
- 特性:有穷性,一致性,序列性
线性表的存储结构
线性表的存储结构有顺序存储结构和链式存储结构两种,前者称为顺序表,后者称为链表
两种存储结构的比较
顺序表具有随机访问特性,切要求占用连续的存储空间
链表,不支持随机访问,链表需要表中的结点划出一部分空间来存储指向下一个结点位置的指针,故,结点的存储空间利用率较顺序表稍低一点,链表的结点可以散落在内存中的任意位置,不需要一次性划分空间给链表,而是支持存储空间的动态分配
顺序表
顺序表的基本操作
//顺序表基本运算算法
#include <stdio.h>
#include <malloc.h>
#define MaxSize 50
typedef int ElemType;
typedef struct
{ ElemType data[MaxSize]; //存放顺序表元素
int length; //存放顺序