线性表之顺序表(上):
一、什么是线性表及顺序表?
1 线性表,是包含若干数据元素的一个线性序列记为:L=(a0,…ai-1,ai,ai+1…an-1)
2 线性表L可才用二元组形式描述:L=(D,R)
3 线性表特征:1)对非空表,a0是表头,无前趋;
2) an-1是表尾,无后继
3) 其它的每个元素ai有且仅有一个直接前驱ai-1和直接后继ai+1.4 顺序存储结构的特点: 逻辑相邻的元素,其存储物理存储上也是相邻。存储密度高,不容易行成碎片。缺点:对插入删除等运算的时间复杂度高。
二、 线性表的基本运算
1.插入:
insert(L,x,i).将元素X插入到表L中第i个元素
软件结构代码分层:sqlist.h (结构体定义实现接口),sqlist.c(运算的实现), test.c( )使得程序:a.结构程序结清析
b.软件复用:自己:(形成代码库)同事(共用)外包(代码与核心分离)
三、 顺序表的实现1
- 顺序表存储数据时,会提前申请一整块足够大小的物理空间,然后将数据依次存储起来,存储时做到数据元素之间不留一丝缝隙。
- 使用顺序表存储数据之前,除了要申请足够大小的物理空间之外,为了方便后期使用表中的数据,顺序表还需要实时记录以下 2 项数据:
顺序表申请的存储容量;
顺序表的长度,也就是表中存储数据元素的个数;