【数据结构】顺序表

概念及一般结构

线性表(linear list)是n个具有相同特性的数据元素的有限序列。
线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…

线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,
线性表在物理上存储时,通常以数组和链式结构的形式存储。

所以我们可以认为顺序表是一种高级的数组,一种封装了一些功能的数组,实现了常用的增删改查等接口

顺序表的分类

静态顺序表
在这里插入图片描述
它只有两个成员,缺点是数据长度定死,没有灵活性

动态顺序表
在这里插入图片描述

补充
这里我们看到第一行有一行代码

typedef int SlDataType;

它的作用是当部分后续文件中需要把int类型一键改成char类型的时候,能够一次性更改,提高效率


顺序表的应用

#define INIT_CAPACITY 4
typedef int SLDataType;
// 动态顺序表 -- 按需申请
typedef struct SeqList
{
	SLDataType* a;
	int size; // 有效数据个数
	int capacity; // 空间容量
}SL;
//初始化和销毁
void SLInit(SL* ps);
void SLDestroy(SL* ps);
void SLPrint(SL* ps);
//扩容
void SLCheckCapacity(SL* ps);
//头部插⼊删除 / 尾部插⼊删除
void SLPushBack(SL* ps, SLDataType x);
void SLPopBack(SL* ps);
void SLPushFront(SL* ps, SLDataType x);
void SLPopFront(SL* ps);
//指定位置之前插⼊/删除数据
void SLInsert(SL* ps, int pos, SLDataType x);
void SLErase(SL* ps, int pos);
int SLFind(SL* ps, SLDataType x);

相关推荐

  1. 数据结构:顺序

    2024-04-04 05:12:05       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-04 05:12:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-04 05:12:05       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-04 05:12:05       82 阅读
  4. Python语言-面向对象

    2024-04-04 05:12:05       91 阅读

热门阅读

  1. C++基础语法、算法、数据结构的简化总结

    2024-04-04 05:12:05       49 阅读
  2. ClickHouse开发相关(UDAF)

    2024-04-04 05:12:05       35 阅读
  3. 优化 Nginx 处理 504 Gateway Timeout 错误

    2024-04-04 05:12:05       33 阅读
  4. vue-codeirror编辑器vue3中的使用

    2024-04-04 05:12:05       31 阅读
  5. 使用Docker 部署jenkins 实现自动化部署

    2024-04-04 05:12:05       36 阅读