typedef int ElemType;
#include<stdio.h>
#include<stdlib.h>
#define initSize 50
typedef struct SeqList
{
int lenght;
ElemType *data;
int MaxSize;
}SqlList;
bool ListInsert(SqlList &L, int i, int e) {
if (i<1 || i>L.lenght + 1) {
return false;
}
for (int j = i; j < L.lenght + 1; j--) {
L.data[j] = L.data[j - 1];
}
L.data[i-1] = e;
L.lenght++;
return true;
}
bool ListDelete(SqlList &L, int i,int &e) {
if (i< 1|| i>L.lenght+1 ) {
return false;
}
e = L.data[i - 1];
for (int j = i; j < L.lenght + 1; j--) {
L.data[j - 1] = L.data[j];
}
L.lenght--;
return true;
}
bool initSqlList(SqlList & L) {
L.data = (int *)malloc(sizeof(int)*initSize);
L.lenght = 0;
L.MaxSize = initSize;
for (int i = 0; i < L.MaxSize; i++) {
L.data[i] = 0;
}
}
bool Increase(SqlList &L, int len) {
int *p = L.data;
L.data = (int *)malloc(sizeof(int)*(L.MaxSize + len));
for (int i = 0; i < L.lenght; i++) {
L.data[i] = p[i];
}
return true;
}
ElemType GetElem(SqlList L, int i) {
return L.data[i - 1];
}
int LocatItem(SqlList L, ElemType e) {
for (int i = 0; i < L.lenght; i++) {
if (L.data[i] == e) {
return i + 1;
}
}
return 0;
}
int main() {
SqlList L;
initSqlList(L);
}