#include "stdio.h"
#include "alloc.h"
#define MaxSize 3
typedef int DataType;
typedef struct
{
DataType list[MaxSize];
int size;
}SeqList;
void ListInitiate(SeqList *L);
int ListLength(SeqList *L);
int ListInsert(SeqList *L,int i,DataType x);
int ListDelete(SeqList *L,int i,DataType *x);
void main()
{
int i,j,ch;
int pois,Num;
SeqList *mylist=0;
for(i=0;i<MaxSize;i++)
{
printf("Please insert %d Num/n",i+1);
scanf("%d",mylist->list[i]);
}
printf("The List Is:");
for(j=0;i<MaxSize;j++)
{
printf("%d/n",mylist->list[i]);
}
printf("/n/n/n/t**************************/n");
printf("/t***** 1.ListInser *****/n");
printf("/t***** 2.ListDelete *****/n");
printf("/t***** 3.ListInitiat *****/n");
printf("/t***** 4.ListLength *****/n");
printf("/t***** 5.Exit *****/n");
printf("/t**************************/n");
printf("Please choice...");
scanf("%d",&ch);
switch(ch)
{
case 1:{
printf("Please Insert the Num poistion and the Num");
scanf("%d%d",&pois,&Num);
if(ListInsert(mylist,pois,Num)==1)
{
printf("Sucess Insert the Num");
}
else
{
printf("Error!!");
}
}; break;
case 2:{
printf("Please Delete the Num poistion and the Num");
scanf("%d",&pois);
ListDelete(mylist,pois,&Num);
if(ListDelete(mylist,pois,&Num)==1)
{
printf("Sucess Delete the Num");
}
else
{
printf("Error!!");
}
} ;break;
case 3:ListInitiate(mylist);break;
case 4:ListLength(mylist);break;
case 5:close();break;
default: printf("输入错误!");
}
getch();
}
void ListInitiate(SeqList *L)
{
L->size=0;
}
int ListLength(SeqList *L)
{
return L->size;
}
int ListInsert(SeqList *L,int i,DataType x)
{
int j;
if(L->size>=MaxSize)
{
printf("顺序表已满无法插入!/n");
return 0;
}
else if(i<0||i>L->size)
{
printf("插入位置出错!");
return 0;
}
else
{
for(j=L->size;j<i;j--)
{
L->list[j]=L->list[j-1];
}
L->list[i]=x;
L->size++;
return 0;
}
}
int ListDelete(SeqList *L,int i,DataType *x)
{
int j=0;
if(L->size<=0)
{
printf("顺序表已空,没有元素可以删除!");
return 0;
}
else if(i<0||i>L->size-1)
{
printf("i的位置不合法");
}
else
{
*x=L->list[i];
for(j=j+1;j<=L->size-1;j++)
{
L->list[j-1]=L->list[j];
}
L->size--;
return 0;
}
}