实现顺序表的基本操作main函数里的代码怎么打才能1、通过键盘读取元素建立线性表; 2、指定一个元素,在此元素之前插入一个新元素; 3、指定一个元素,删除此元素。


#include <iostream>
#include <stdlib.h>
using namespace std;
#define MaxSize 100
typedef int DataType;
typedef  struct
{
    DataType data[MaxSize];
    int length;
}SeqList;   //存储结构定义
int CreatList(SeqList* L, DataType a[], int n)
{

    if (n > MaxSize)
    {
        printf("error\n");
        return 0;
    }
    for (int i = 0; i < n; i++)
    {
        L->data[i] = a[i];
        L->length = n;
        return 1;
    }
}//创建顺序表
void InitList(SeqList* L)
{
    L->length = 0;
}//初始化
int Delete(SeqList* L, int i, DataType* ptr)
{
    if (L->length == 0)
    {
        printf("error\n");
    }
    if (i<1 || i>L->length)
    {
        printf("error\n");
    }
     *ptr = L->data[i - 1];
    for (int j = i; j < L->length; j++)
        L->data[j - 1] = L->data[j];
    L->length--;
    return 1;
}//删除元素
void PrintfList(SeqList* L)
{
    for (int i = 0; i < L->length; i++)
        printf("&d", L->data[i]);
}//遍历输出
int Insert(SeqList* L, int i, DataType x)
{
    if (L->length >= MaxSize)
    {
        printf("上溢错误");
        return 0;
    }
    if (i<1||i>L->length+1)
    {
        printf("位置错误");
        return 0;
    }
    for (int j = L->length; j >= i; j--)
    L->data[j] = L->data[j - 1];
    L->data[i - 1] = x;
    L->length++;
    return 1;
}//插入元素
int main()
{
    int a[5] = { 1,2,3,4,5 }, i, x;
    SeqList L;
    CreatList(&L, a, 5);
    PrintfList(&L);

}