#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);
}