大家好,今天给大家总结了一下数据结构里面的线性表的顺序结构,顺序表表示的是用一组地址连续的存储单元依次存储线性表的数据元素,所以顺序结构的实现一般采用数组的方式来实现,存储空间也采用动态分配的方式。在定义中用一个ElemType * elem表示基地址,int length 表示当前长度,int listsize表示数组的大小。具体实现的代码如下:
/*
* 数据结构线性表顺序结构的实现
*/
#include
#include
/*
ADT List{
//基本操作:
InitList(&L); //操作结果:构造一个空的线性表;
DestroyList(&L); //初始条件:线性表L已存在操作结果:销毁线性表 L ;
ListEmpty(&L); //初始条件:线性表L已存在操作结果:若L为空表,则返回TRUE,否则,返回FALSE ;
ListLength(&L); //初始条件:线性表L已存在操作结果:若返回L中元素的个数 ;
GetElem(&L,i,e);//初始条件:线性表L已存在操作结果:用e返回L中第i个数据元素的值;
ListInsert(&L,i,e); //初始条件:线性表L已存在,1<=I<=LiseLenght(L)+1操作结果:第i个元素之前插入元素e ,L+1;
ListDelete(&L,i,&e); //初始条件:线性表L已存在,1<=I<=LiseLenght(L)操作结果:删除第i个元素,并用e返回其值,L-1 ;
ListTraverse(&l,width)//初始条件:线性表L已存在,操作结果:依次输出元素;
};
*/
#define TURE 1
#define FALSE 0
#define OK 1
#define SUCC 1
#define ERROR 0
#define LISTINCREMENT 1
#define LIST_INIT_SIZE 20
typedef int ElemType;
typede