数据结构线性表之顺序表

一、线性表及顺序表概念

1.线性表的概念;

线性表是零个或多个具有相同特性的数据元素组成的有限序列,线性表是实际中,广泛使用的一种数据结构,相关的有:顺序表,链表,栈,队列,串...

线性表在逻辑上是线性结构,也就是一条连续的线,在物理结构上并不一定是连续的,线性表中以物理结构上连续的有两类:顺序表,线性表。

顺序表:

数据结构线性表之顺序表_第1张图片

 链表:

数据结构线性表之顺序表_第2张图片

2.顺序表的概念;

顺序表是一段地址连续的存储单位依次存放线性表的数据元素,顺序表有两种,一种是静态的,一种是动态的。

3.顺序表的分类;

静态的顺序表:是给定一个长度一定的数组,数据元素在数组上存储;优点是,开辟空间方便,缺点是,数组大小给小了不够用,给大了造成空间浪费。数据结构线性表之顺序表_第3张图片

动态的顺序表:可根据需要,进行合理的扩容,实际中,动态顺序表往往比静态顺序表更好利用些,所以下面的各接口,都以动态顺序表为主。(其实除了在创建、初始化,扩容顺序表有所差异外,其它的近似)数据结构线性表之顺序表_第4张图片

二、顺序表的功能接口实现

1.顺序表的基础功能;

(形参设置,p表示顺序表的指针,x表示要插入顺序表的元素,k表示要处理的顺序表的位置)

顺序表的初始化:数据结构线性表之顺序表_第5张图片

顺序表的检查+扩容:数据结构线性表之顺序表_第6张图片

顺序表的打印: 

数据结构线性表之顺序表_第7张图片

顺序表的销毁: 

数据结构线性表之顺序表_第8张图片

2.顺序表的核心功能;

顺序表的任意插入: 

数据结构线性表之顺序表_第9张图片

顺序表的尾插:

数据结构线性表之顺序表_第10张图片

顺序表的头插:数据结构线性表之顺序表_第11张图片

顺序表的任意删除:数据结构线性表之顺序表_第12张图片

顺序表的尾删:

数据结构线性表之顺序表_第13张图片

顺序表的头删:

数据结构线性表之顺序表_第14张图片

顺序表的查找元素的索引:

数据结构线性表之顺序表_第15张图片

顺序表的由索引查找元素:

数据结构线性表之顺序表_第16张图片

顺序表的数据的修改

数据结构线性表之顺序表_第17张图片

3.顺序表的附加功能;

附加功能就不实现了,

三、顺序表总结

为了方便你们对顺序表进行验证,和更深刻的理解,我会将所有的代码放在一起,你们可通过此链接或者完整的源代码;

线性表之【顺序表】的实现/线性表之【顺序表】的实现 · 残风也想永存/C语言项目 - 码云 - 开源中国 (gitee.com)

你可能感兴趣的:(数据结构,数据库,c语言)