上一篇介绍的是基于柔性数组存储数据的顺序表,我个人感觉它和我这篇要介绍的基于给指针开辟空间存数据的顺序表差不多,都是使用堆内存,并且能够对数据存储空间调整大小。不过个人感觉用指针的写法能方便点。
假设存储的数据类型位int型,则线性表的顺序存储类型可以用结构体表示为:
typedef int SeqData;
typedef struct _seqList
{
SeqData *list;
int max_len;
int len;
}SeqList;
这种数据是由给指针开辟空间来存储数据,占用的是堆内存,理论上只要机器的内存足够大,堆内存就足够大,所以这种顺序表不存在表满的情况。
顺序表具体怎么操作呢,其实很简单。下面将简单介绍,代码均只有片段。需要完整代码请直接下载(免积分)
首先要创建一个顺序表,即给表开辟空间:
SeqList *Create_List()
{
// 创建一个顺序表
SeqList* s = (SeqList*)