#include<stdio.h>
#define ElemType int
#define MaxSize 50
//首先定义一个顺序表
//顺序表:空间分配一定连续,逻辑结构与一维数组并不相同!!!
typedef struct{
ElemType data[MaxSize];
int length;
}SqList;
//初始化顺序表
void InitalSqList(SqList &L)
{
L.length = 0;
return ;
}
//插入第i个位置的元素
bool InsertSqList(SqList &L, ElemType e, int i)
{
if(L.length >= MaxSize) return false;
if(i < 1 || i > L.length + 1) return false;
for(int k = L.length;k >= i;k--)
{
L.data[k] = L.data[k - 1];
}
L.data[i - 1] = e;
L.length++;
return true;
}
//删除第i个位置的元素
bool DeleteSqList(SqList &L, ElemType &e, int i)
{
if(L.length == 0) return false;
if(i < 1 || i > L.length) return false;
e = L.data[i - 1];
for(int k = i;k < L.length;k++)
{
L.data[k - 1] = L.data[k];
}
L.length--;
return true;
}
//输出整个顺序表
bool PrintSqList(SqList &L)
{
for(int i = 1;i <= L.length;i++)
{
printf("%d ", L.data[i - 1]);
}
printf("\n");
return true;
}
int main()
{
SqList L;
for(int i = 0;i < 20; i++)
{
L.data[i] = i + 1;
}
L.length = 20;
PrintSqList(L);
InsertSqList(L, 88, 19);
PrintSqList(L);
int e = 0;
DeleteSqList(L, e, 19);
PrintSqList(L);
return 0;
}