设一顺序表中元素值递增有序。写一算法,将元素x插到表中适当的位置,并保持顺序


怎么办?我是一个超级无敌的菜鸟……
程序代码:#include<stdio.h>
#define maxlen 50
typedef int elemtype;
typedef elemtype sqlist[maxlen];
int creat(sqlist A)//创建顺序表
{
int i,n;
printf("创建一个顺序表:\n");
printf("输入元素个数:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("输入第%d个元素值",i+1);
scanf("%d",&A[i]);
}
return n;
}
void disp(sqlist A,int n)//输出一个顺序表
{
int i;
printf("输出一个顺序表:\n");
if(n==0)
printf("建立的顺序表为空表:\n");
for(i=0;i<n;i++)
printf("%4d",A[i]);
printf("\n");
}
int Insert(sqlist A,int n,int x)
{
int i=0,j;
if(x>=A[n-1])/*插到线性表尾*/
{
A[n]=x;
}
else
{
while(A[i]<x)
i++;
for(j=n;j>=i;j--)
A[j+1]=A[j];/*后移*/
A[i]=x;
}
return n+1;
}
void main()
{
sqlist A;
int x,n;
n=creat(A);
disp(A,n);
printf("请输入一个要插入的数:\n");
scanf("%d",&x);
n=Insert(A,n,x);
disp(A,n);
}楼主可以参考一下我以前做的