数据结构初阶:顺序表
一、初识顺序表
在正式学习顺序表之前,我们先明确一下线性表这个概念。
1.1 线性表
线性表 (linear list) 是 n 个具有相同特性的数据元素的有限序列,线性表是一种在实际中广泛使用的数据结构。常见的线性表:顺序表,链表,栈,队列,字符串等。
线性表在逻辑上是线性结构,也就是说连续的一条直线。但是在物理结构上并不一定是连续的。线性表在物理上存储时,通常以数组和链式结构的形式存储。

1.2 顺序表的概念与结构
概念: 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况采用数组存储。
- 逻辑结构:线性
- 物理结构:线性

顺序表和数组的区别: 顺序表的底层结构是数组,对数组的封装,实现了常用的增删查改等结构。
我们来举个例子对比一下数组和顺序表:

二、顺序表的分类
2.1 静态顺序表
使用定长数组存储元素
静态顺序表缺陷:空间给少了不够用,给多了造成空间浪费。
// 静态顺序表
typedef int SLDataType;
#define N 6
typedef struct Seqlist {
SLDataType a[N]; // 定长数组
int size; // 有效数据个数
} SL;




