线性表L的初始化(参数用引用)
Status InitList_Sq(SqList &L){
L.elem=new ElemType[MAXSIZE];//为顺序表分配空间,获取基地址
if(!L.elem)exit(OVERFLOW);//异常处理
L.length=0;
L.listsiaze=LIST_INIT_SIZE;
return OK;
}
销毁线性表
void DestroyList(SqList &L)
{
if(L.elem)
delete L.elem;//释放存储空间
}
清空线性表
void ClearList(SqList &L){
L.length=0;//将线性表长度置零
}
判断线性表是否为空
int ListEmpty (Sqlist L){
if(L.length==0) return 1;
else return 0;
}
求线性表长度
int Listlength(Sqlist L){
return (L.length);
}
顺序表的取值(根据位置i获取相应位置侯后的数据元素的值)
int GetElem(SqList L,int i,Elem Type &e)
{
if(i<1||i>L.length) return ERROR;//判断i值是否合理,若不合理,返回ERROR
e=L.elem[i-1];
return ok;
}
顺序表的查找(在线性表L中查找与指定值e相同的数据元素的位置)
- 从表的一端开始,逐个进行记录的关键字和给定值的比较。找到,返回该元素的位置序号,未找到,返回0.
int LocateElem(SqList L,ElemType e){
//在线性表L中查找值为e的数据元素,返回其序号(是第几个元素)
for(i=0;i<L.Length;i++)
if(L.elem[i]==e)return i+1;//查找成功返回序号</