• typedef int ElemType 表示为int起别叫ElemType.
  • typedef int Elemtype[10]相当于:以后用Elemtype声明的变量都是一个int[10]数组.
  • 除了return,还可以通过引用形参来返回函数计算结果

顺序表的存储结构

#define MaxSize 50
typedef int ElemType;
struct SqList {
    ElemType data[MaxSize];
    int length;
};

初始化顺序表的算法

void InitList(SqList &L) {
    L.length=0;
}

求顺序表中指定位置元素的算法

int GetElem(SqList &L,int i,ElemType &e) {
    if (i<1 || i>L.length)
        return 0;
    e=L.data[i-1];
    return 1;
}

元素值查找算法

int LocateElem(SqList L,ElemType e) {
    int i=0;
    while(i<L.length&&L.data[i]!=e) i++;
    if(i>=L.length) return 0;
    else return i+1;
}

插入数据的算法

int ListInsert(SqList &L,ElemType e,int i) {
    int j;
    if(i<L.length || i>L.length+1)
        return 0;
    i--;
    for(j=L.length; j>i; j--)
        L.data[j]=L.data[j-1];
    L.data[i]=e;
    L.length++;
    return 1;
}

删除数据元素的算法

int ListDelete(SqList &L,int i,ElemType &e) {
    int j;
    if(i<1 || i>L.length)
        return 0;
    i--;
    e=L.data[i];
    for(j=i; j<L.length-1; j++)
        L.data[j]=L.data[j+1];
    L.length--;
    return 1;
}