顺序表中基本操作的实现
//函数结果状态代码
#define OK 1
#define ERROR 0
#define OVERFLOW -2
//Status 是函数返回值类型,其值是函数结果状态代码
typedef int Status;
算法2.1 构造顺序表的存储结构
typedef struct
{
ElemType *elem; //指针,把地址分配给指向ElemType的指针p
int length;
}SqList //这个ElemType 可以先用一个结构体定义一下。structured query结构化查询
算法2.2 顺序表的初始化
Status InitList(SqList &L)
{//构造一个空的顺序表L
L.elem=new ElemType[MAXSIZE];
if(!L.elem) exit(OVERFLOW);
L.length=0;
return Ok;
}
算法2.3 顺序表的取值:
算法2.3 顺序表的取值:
Status GetElem(SqList L,int i,ElemType &e)
{
if(i<1||i>L.length) return ERROR;
E=l.elem[i-1];
return Ok;
}
算法2.4 顺序表的查找:
int LocateElem(SqList L,ElemType e)
{//在顺序表L中查找值为e的数据元素,返回其序号
for(i=0;i<L.length;i++)
if(L.elem[i]==e) return i+1;
return 0;
}
算法2.5 顺序表的插入
Status ListInsert(SqList &L,int i,ElemType e)
{
if((i<1)||(i>L.Length+1)) return ERROR;
if(L.length==MAXSIZE) return ERROR;
for(j=L.length-1;j>=i-1;j--)
L.elem[j+1]=L.elem[j];
L.elem[i-1]=e;
++L.length;
return OK;
}
算法2.6 顺序表的删除
Status ListDelete(SqList &L,int i)
{
if((i<1)||(i>L.length)) return ERROR;
for(j=i;j<=L.length-1;j++)
L.elem[j-1]=L.elem[j];
--L.length;
return OK;
}
版权声明:
作者:maple
链接:https://www.maplezeroz.com/?p=250
来源:我的学习笔记
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
海报
顺序表中基本操作的实现
//函数结果状态代码
#define OK 1
#define ERROR 0
#define OVERFLOW -2
//Status 是函数返回值类型,其值是函数结果状态代码
typedef int Status;
算……

共有 0 条评论