一.顺序表(顺序结构存储的线性表)
用数组存储的方式,last指向数组中最后一个元素
1.表示形式
typedef struct LNode *List;
struct LNode{
ElementType Data[MAXSIZE];
int Last;
};
List PtrL;
2.基本操作
(1)创建
List makeEmpty() {
List PtrL;
PtrL = (List)malloc(sizeof(struct LNode));
PtrL->Last = -1;
return PtrL;
}
(2)查找
ElementType Find(ElementType X,List PtrL) {
int i = 0;
while (i < PtrL->Last && PtrL->Date[i] != X) {
i++;
}
if (i > PtrL->Last)return NULL;
else return i;
}
(3)插入
void Insert(ElementType X, int i, List PtrL) {
if (PtrL->Last = MAXSIZE - 1) {
cout << "表满" << endl;
return;
}
if (i<0 || i>PtrL->Last + 2) {
cout << "插入位置不对" << endl;
return;
}
for (int j =PtrL->Last; j >=i-1; j--) {
PtrL->Date[j + 1] = PtrL->Date[j];
}
PtrL->Date[i] = X;
PtrL->Last++;
}
(4)删除
void Delete(List PtrL, int i) {
if (i<0 || i>PtrL->Last + 1) {
cout << "删除位置不对