顺序表的储存结构
#define MAXLEN 100
typedef int elementType;
typedef struct sList{
elementType data[MAXLEN];
int listLen;
}seqList;
顺序表的初始化
void initialList(seqList *&L){
L->listLen = 0;
}
顺序表的按序号查询元素
void getElement(seqList *&L, int i, elementType &x){
if (i < 1 || i > L->listLen){
cout << "超出范围" << endl;
return;
}
x = L->data[i-1];
}
顺序表按值查询
int listLocate(seqList *&L, elementType x){
int i=0;
for (i=0; i<L->listLen; i++){
if (x == L->data[i])
return i+1;
}
return 0;
}
顺序表的插入算法
int listInsert(seqList *&L, elementType x, int i){
int j;
if (L->listLen == MAXLEN){
return 0;
}
if (i<1 || i>listLen+1){
return 1;
}
else{
for (j=L->listLen-1; j>=i-1; j--){
L->data[j+1] = L->data[j];
}
L->data[i-1] = x;
}
L->listLen++;
return 2;
}
顺序表的删除算法
int listDelete(seqList *&L, int i){
int j;
if (L->listLen == 0)
return 0;
if (i<1 || i > L->listLen){
return 1;
}
else {
for (j=i-1; j<L->listLen-1; j++){
L->data[j] = L->data[j+1];
}
}
L->listLen--;
return 2;
}