你好!!!
插入函数你在主函数里就没有写,怎么调用???其他还有点小错!!!
修改如下:
#include
#define M 20
typedef struct Linearlist
{
int elem[M];
int last;
}SeqList;
SeqList *InitList()
{
SeqList * L;
L=new SeqList;
L->last=-1;
return L;
}
int InsertList(SeqList * L,int i,int x)//插入函数
{
int j;
if(L->last==M-1)
{
cout<<"表满";
return(-1);
}
if(i<1||i>L->last+2)
{
cout<<"位置错"<
}
for(j=L->last;j>=i-1;j--)
L->elem[j+1]=L->elem[j];
L->elem[i-1]=x;
L->last++;
return(1);
}
int LocatList(SeqList * L,int x)//查找函数
{
int j=0;
while(j<=L->last&&L->elem[j]!=x)
j++;
return j;
}
void DeletList(SeqList * L,int rc)//删除函数
{
int i;
for(i=rc;i
L->elem[i]=L->elem[i+1];
L->last--;
}
int TravelList(SeqList * L)//显示数组中的元素
{
for(int i=0;i
cout<
cout<
return i;
}
void main()
{
SeqList *L;
L=InitList();
int x,m,i,j,flag;
cout<<"输入要数组的个数m(m<20):"<
cout<<"输入线性表的值:";
L->last=m;//设定实际元素的个数
for(i=0;i
for(i=0;i
cout<
cout<<"请输入要插入数:";
cin>>x;
cout<<"请输入插入的位置:";
cin>>i;
InsertList( L, i, x);//插入函数
for(i=0;i
cout<
cout<<"输入要查找的数字"<
j=LocatList(L,x);
if(j==0)
cout<<"没有找到药查找的数字!!!"<
{
cout<<"要查找的数字的位置:";
cout<
cout<<"输入要删除的元素的下标:";//我想你输入的应该是下标吧
cin>>x;
DeletList(L,x);
for(i=0;i
cout<
TravelList(L);
}
测试:
输入要数组的个数m(m<20):
6
输入线性表的值:1 2 3 4 5 6
1 2 3 4 5 6
请输入要插入数:7
请输入插入的位置:2
1 7 2 3 4 5 6
输入要查找的数字
5
要查找的数字的位置:5
输入要删除的元素的下标:5
1 7 2 3 4 6
1 7 2 3 4 6
Press any key to continue
输入要数组的个数m(m<20):
6
输入线性表的值:1 2 3 4 5 6
1 2 3 4 5 6
请输入要插入数:7
请输入插入的位置:10
位置错1 2 3 4 5 6
输入要查找的数字
3
要查找的数字的位置:2
输入要删除的元素的下标:5
1 2 3 4 5
1 2 3 4 5
Press any key to continue