顺序表的插入
#include<stdio.h>
#define MaxSize 10
typedef struct {
int data[MaxSize];
int length;
}SqListl;
void InitList(SqListl &L){
for (int i = 0; i < MaxSize; i++)
L.data[i] = 0;
L.length = 0;
}
bool ListInsert(SqListl& L, int i, int e) {
if (i<1 || i>L.length + 1)
return false;
if (L.length >= MaxSize)
return false;
for (int j = L.length; j >= i; j--)
L.data[j] = L.data[j - 1];
L.data[i - 1] = e;
L.length++;
return true;
}
int main() {
SqListl L;
InitList(L);
ListInsert(L, 1, 1);
return 0;
}
顺序表的删除
#include<stdio.h>
#define MaxSize 10
typedef struct {
int data[MaxSize];
int length;
}SqListl;
void InitList(SqListl& L) {
for (int i = 0; i < MaxSize; i++)
L.data[i] = 0;
L.length = 0;
}
bool ListDelete(SqListl& L, int i, int &e) {
if (i<1 || i>L.length + 1)
return false;
e = L.data[i - 1];
for (int j = i; j < L.length; j++)
L.data[j - 1] = L.data[j];
L.length--;
return true;
}
int main() {
SqListl L;
InitList(L);
int e = -1;
if (ListDelete(L, 1, e))
printf("已经删除第1个元素,删除元素的值为=%d\n", e);
else
printf("位序i不合法,删除失败\n");
return 0;
}