一半自己写一半借鉴别人的写成的。请大家帮我看看哪里有错。
顺便有一些问题:调用的函数里为什么一个返回的是1,一个返回的是y?
#include<stdio.h>
void PrintList(int *L,int n,int i);
int InsertSList(int *L,int n,int i,int x);
ElemType DeleteSList(int *L,int n,int i);
main()
{
int n,temp;
int L[15]=(10,25,52,9,31,88,26,44,50,78);
printf("输出原线性表:%d\n",PrintList(L,10));
L[15]=InsertSList(L,15,3,50)
printf("在第3个位置插入元素50:%d\n",PrintList(L,11));
L[15]=DeleteSList(L,15,3);
printf("删除第3个位置的元素:%d\n",PrintList(L,10));
}
void PrintList(int *L,int n,int i)
{
for(i=0;i<n;i++)
printf("%d ",L[i]);
printf("\n");
}
ElemType InsertSList(int *L,int n,int i,int x)
{/*在顺序存储结构的线性表L中第i个元素之前插人元素x,n为表长*/
int j;
if((i<1)||(i>n+1))
{
printf("参数非法");
return(0);
}
else
{
for(j=n;j>=i;j--)
L[j+1]=L[j];
L[j]=x;
n=n+1;
return(1);
}
}
int DeleteSList(int *L,int n,int i)
{/*在顺序存储结构的线性表L中删除第i个元素*/
int j,y;
if((i<1)||(i>n+1))
{
printf("参数非法");
return(0);
}
else
{
y=L[i];
for(j=i+1;j<n;j++)
L[j-1]=L[j];
n=n-1;
return(y);
}
}