线性表:
定义:
InitList_Sq(&L):构造一个空的线性表;
DestroyList(&L):销毁线性表;
ClearList(L):将线性表重置为空表;
ListEmpty(L):若线性表为空表,则返回true,否则返回false;
ListLength(L):返回L中数据元素个数;
GetElem(L,i,&e):用e返回L中第i个元素;
LocateElem(L,e):返回L中第1个与e相等的元素的位置序号,若这样的元素不存在,则返回0;
PriorElem(L,cur_e,&pre_e):若cur_e是L的数据元素,且不是最后一个,则用pre_e返回其前区,否则操作失败,pre_e无定义;
NextElem(L,cur_e,&next_e):若cur_e是L的数据元素,切不是最后一个,则用next_e返回
其后继,否则操作失败,next_e无定义;
ListInsert(&L,i,e):在L中第i个位置之前插入新的数据元素e,L的长度加1;
ListDelete(&L,i,e):删除L的第i个数据元素,并用e返回其值,L的长度减1;
InitList_Sq现实:
Status InitList_Sq(SqList &L){
L.elem=new Elemtype[MAXSIZE]; //为徐表分配一个大小为MAXSIZE的数组空间
if(!L.elem) //存储分配失败
exit(OVERFLOW);
L.length=0; //空表长度为0
return OK;
}
顺序表的查找:
int LocateElem_Sq(SqList L,ElemType e){
for(int i=0;i<L.lenght;i++){
if(L.elem[i]==e)
return i+1;
}
}
顺序表插入:
Status ListInsert_Sq(SqList &L,int i,ElemType e){
//在顺序表L中第i个位置之前插入新的元素e
//i值的合法范围是1<=i<=L.length+1
if(i<1||i>L.length+1)
return ERROR;
//博主下线啦,等会回来补上
}
网友评论