搜索
您的当前位置:首页正文

线性表以顺序表为存储结构的实现(数据元素的类型为整型)

来源:哗拓教育

#define LIST_INIT_SIZE 100  //线性表存储空间的初始分配量
#define LISTINCREMENT  10   // 线性表存储空间的分配增量

//状态结果的代码
#define TRUE  1
#define FALSE 0
#define OK    1
#define ERROR 0
#define OVERFLOW –1

  • 函数原型:

//-----------基本的操作---------------------------------
//构造一个空的线性表
int InitList(SqList *L);
//销毁线性表L,L已经存在
int DestroyList(SqList *L);
//将表L置空,线性表L已经存在
int ClearList(SqList *L);
//判断L是否为空,空返回true,否则false,L已经存在
int ListEmpty(SqList L);
//返回L中元素的个数,L已经存在
int ListLength(SqList L);
//用e返回L中的第i个元素的值,成果返回true.1<=i<=Lenth
int GetElem(SqList L, int i, Elemtype *e);
//返回L中第一个与e满足关系compare()的数据的位(1,2,...),
//不成功返回0, L已经存在,compare()为判定函数
int LocateElem(SqList L,Elemtype e,int (*compare)(void *, void *));
//若cur_e是L的数据元素,且不是第一个,则用pre_e返回他的
//前驱,否则返回失败,pre_e无定义,L存在
int PriorElem(SqList L, Elemtype cur_e, Elemtype *pre_e);
//若cur_e是L的数据元素,且不是最后一个,则用next_e返回他的
//后继,否则返回失败,next_e无定义,L存在
int NextElem(SqList L, Elemtype cur_e, Elemtype *next_e);
//在L的第i个位置插入新的元素e,L的长度加一,L已经存在
//1<=i<=listlength+1,成功返回ture
int ListInsert(SqList *L, int i, Elemtype e);
//删除L的第i个元素,用e保存,L长度减一
//线性表L已经存在非空,1<=i<=listlength
int ListDelete(SqList *L, int i, Elemtype *e);
//依次对L调用函数visit(),失败就操作失败,L已经存在
int ListTraverse(SqList L, int (* visit)(void *));
//显示线性表中的所有元素
int ListPrint(SqList L);
//保存线性表到文件
int ListSave(SqList L);
//导入线性表文件
int ListLoad(SqList *L);
 

源代码:

实现效果:

界面:

  

导入:

 

显示:

 

转载于:https://www.cnblogs.com/hustlijian/archive/2011/05/22/2053409.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Top