顺序表专题

数据结构是计算机存储、组织数据的方式,数组是一个最基础的数据结构。

顺序表的概念及结构

顺序表的底层是数组,顺序表是在数组的基础上进行维护和封装,提供了很多现成的方法。

线性表是n个具有相同特征的数据元素的有限序列,顺序表是线性表的一种。线性表在物理结构上不一定连续,在逻辑结构上是连续的,顺序表在物理结构和逻辑结构上都是连续的。

顺序表分类

sequence 顺序的

静态顺序表

// 静态顺序表的定义
typedef int SLDataType;
#define N 7
typedef struct SeqLsit {
    SLDataType arr[N]; //静态顺序表的底层是定长的数组
    int size;//顺序表当前有效的数据个数(申请了N个空间不一定存放了N个数据)
}SL;

静态顺序表缺陷:空间少了不够用,空间多了浪费

动态顺序表

//动态顺序表的定义
typedef int SLDataType;//VS中虽然有一键替换功能,但是在只需要部分替换时可能出现错误
typedef struct SeqList {
    SLDataType* arr;
    int size;
    int capacity;//数组可能需要不断增容,记录空间大小
}SL;

实现项目

头文件相当于目录

顺序表的初始化

修改后

调试

最终代码

顺序表的销毁

顺序表的增删查改操作

尾插

调试

capacity为0,没有空间插入数据,所以得先保证当前有空间能够插入数据

修改后

最终代码

头插

尾删

头删

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值