本代码中L.length赋值是7,可以修改L.length的值来改变终端输入数字的个数。
#include<iostream>
#include"stdio.h"
using namespace std;
constexpr auto MAXSIZE = 20;
constexpr auto OK = 1;
constexpr auto ERROR = 0;
constexpr auto TRUE = 1;
constexpr auto FALSE = 0;
typedef int ElemType;
typedef int Status;
typedef struct
{
ElemType data[MAXSIZE];
int length;
}SqList;
Status ListInsert(SqList *L,int i,ElemType e);
Status ListDelete(SqList *L,int i,ElemType e);
//获取线性表元素的操作
Status GetElem(SqList L,int i,ElemType *e)
{
if (L.length==0 || i<=0 || i>L.length)
{
return ERROR;
}
*e = L.data[i-1];
return OK;
}
//在L中第i个位置插入元素e的函数(第i个位置不是数组中的下标,是一个个数过去的i个数字)
Status ListInsert(SqList* L, int i, ElemType e)
{
if (L->length==MAXSIZE)
{
return ERROR;
}
if (i<1 || i>L->length+1)
{
return ERROR;
}
if (i<=L->length)
{
for (int k = L->length-1; k >