//定义原理
const int Maxsize=100;
typdef struct
{
DataType data[Maxsize];
int length;
}SeqList;
SeqList L;
//在第i(1~n+1)个元素前插入元素x。ai~an依次向后移动一个元素,这样空出了第i个元素,将x插入该空位,表长+1
void InsertSeqlist (SeqList L,DataType x,int i)
{
if (L.length==Maxsize)
exit("表已满");
if (i<1 || i>L.length+1)
exit("非法位置");
for (j=L.length;j>=i;j--)
L.data[j]=L.data[j-1];
L.data[i-1]=x;
L.length++;
}
//删除:ai+1,..an依次左移一个元素位置从而覆盖ai,表长-1.需要判断i合法(1~n)
void DeleteSeqList (SeqList L,int i)
{
if(i<1||i>L.length)
exit("location error");
for (j=i;j<L.length;j++)
L.data[j-1]=L.data[j];
L.length--;
}
//定位:
int LocateSeqlist (SeqList L,DataType x)
{
int i=0;
while ((i<L.length)&&(L.data[i]!=x))
i++;
if (i<L.length)
return i+1;
else return 0;
}
//求表长
int Lenth(SeqList L)
{
return L.length;
}
//初始化
void initiate(SeqList L)
{
L.length=0;
}
//读元素
DataType Get (SeqList L,int i)
{
return L.data[i];
}