1.次序表的概念
次序表 是 用一段物理地址一连的存储单元 依次 存储数据元素的线性结构
一般情况下采用数组存储
2.次序表的结构
既然次序表可以用来存储数据元素,
那就少不了 增删查改 的操作
此时,单一地只创建数组满意不了上述操作
创建相应的结构体变量可以很好地办理这个问题
2.1重定名数据类型名称
重定名一下数据类型的名称
如许
之后改变数据类型的时间只需要修改一处
SL是Seqlist,即次序表的英文缩写
DataType 是数据类型的英文缩写
2.2静态次序表
所谓静态:使用定长数组存储数据
- #define N 5
- typedef struct SeqList
- {
- SLDataType arr[N]; //定长数组
- int size; //有效数据个数
- }SL;
复制代码
如上图:
界说的结构体包罗
一个定长数组和一个变量
数组用来存储数据,
变量用来存储有效数据的个数
很显然,
静态次序表存在很大的缺陷,
由于
你不能根据需要合理界说数组的大小
开100个单元存不下101个数据
开1万个单元存不下1万零1个数据
开10万个单元如果只存10个数据,又会浪费空间
以是我们更多的选择使用动态次序表
按需申请空间
2.3动态次序表
- typedef struct SeqList
- {
- //该指针指向所申请的空间首地址
- SLDataType* arr;
- int size; //有效数据个数
- int capacity; //空间容量
- }SL;
复制代码
如上图:
界说的结构体中,
arr 指向动态开发的内存空间
size 存储有效数据个数
capacity 表示空间容量,空间不够就扩容
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |