学完顺序表,我们的数据结构的正式入门啦!!!此次的顺序表主要研究的是动态顺序表,也就是通过指针来实现,因为静态的一个是比较简单,还有一个是用处不大。所以我选择通过动态来实现顺序表。我将会从顺序表是什么,怎么用两个方面来进行详细的阐述。包括了顺序表的接口函数增删查改这四个部分。
目录
1.线性表
在开始之前先了解一个大概念就是线性表。线性表是具有n个相同特征的数据元素的有限序列。主要包括:顺序表、链表、队列、栈....。与之相对应还有树状结构,图状结构。
线性表,在逻辑上(存储在电脑里面)是线性结构(一个挨着一的进行存放)。但是在物理结构上(人定义的为了方便,好看)则存在着数组、链式的物理结构。
2.顺序表
2.1 是什么
顺序表是一个挨着一个的进行存放数据,在前一个数据的后面放新的数据。官方的解释为:顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存
储。在数组上完成数据的增删查改。
2.2 怎么用
通过建立一个指针、数据大小、空间大小。来实现增、删、查、改的接口函数。
//创建 + 销毁
void SqeListInit(SQ* plist);
void SqeListDestroy(SQ* plist);
void SqeListCheckCapacity(SQ* plist);
void SqeListPrint(SQ* plist);
//增
void SqeListAdd(SQ* plist, int pos, int x);//在 pos 位置插入 x
void SqeListPushBack(SQ* plist, int x);
//删
void SqeListPop(SQ* plist, int pos);//删除 pos 位置的数据
void SqeListPopBack(SQ* plist);//尾删
void SqeListPopHead(SQ* plist);//头删
//查
void SqeListFindpos(SQ* plist, int pos);//查找pos 位置的值
void SqeListFindx(SQ* plist, int x);//查找 x 数据
//改
void SqeListModify(SQ* plist, int pos, int x);