顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。
- 静态顺序表:使用确定长度的数组储存元素。
- 动态顺序表:使用动态开辟的数组储存。
动态顺序表空间不够,可以增加容量,一般我们选择动态顺序表。
接口实现详细见我的码云仓库 顺序表接口实现
//SeqList.h #pragma once #define _CRT_SECURE_NO_WARNINGS 1 #include#include #include //#define N 200 //typedef int SLDataType; // 静态顺序表 N太小 可能不够用 N太大,可能浪费空间 //struct SeqList //{ // SLDataType a[N]; // int size; //}; typedef int SLDataType; //动态顺序表 typedef struct SeqList { SLDataType* a;//指向动态数组指针 int size; //数组个数 int capacity; //容量-空间大小 }SL; void SLInit(SL* ps);//初始化顺序表 void SLPrint(SL* ps);//打印顺序表 void SLDestory(SL* ps);//销毁顺序表 //检查是否需要扩容的函数 void SLCheckCapacity(SL* ps); //头插、头删、尾插、尾删//O(1) void SLPushFront(SL* ps, SLDataType x); void SLPopFront(SL* ps); //O(n) void SLPushBack(SL* ps, SLDataType x); void SLPopBack(SL* ps); //任意位置插入删除 void SLInsert(SL* ps, int pos, SLDataType x); void SLErase(SL* ps, int pos); //查找和修改 int SLFind(SL* ps, SLDataType x); void SLModify(SL* ps, int pos, SLDataType x);



