线性表

2019-11-09  本文已影响0人  YOLO_2a2d

线性表:
定义:

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;
    //博主下线啦,等会回来补上
}
上一篇 下一篇

猜你喜欢

热点阅读