数据结构线性表之顺序表

一、线性表及顺序表概念

1.线性表的概念;

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

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

顺序表:

 链表:

2.顺序表的概念;

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

3.顺序表的分类;

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

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

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

1.顺序表的基础功能;

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

顺序表的初始化:

顺序表的检查+扩容:

顺序表的打印: 

顺序表的销毁: 

2.顺序表的核心功能;

顺序表的任意插入: 

顺序表的尾插:

顺序表的头插:

顺序表的任意删除:

顺序表的尾删:

顺序表的头删:

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

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

顺序表的数据的修改

3.顺序表的附加功能;

附加功能就不实现了,

三、顺序表总结

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值