菜鸟问题,高手帮忙,谢谢!
现有一个数组a,其中的元素按从小到大排列,现在插入一个数组n(从键盘输入)到数组中,要求插入后的数组仍然按从小到大排列。帮帮忙,做一下,给个思路也好!
用插入法排序
#include "stdio.h"
void sort(int *list,int len)
{
int i,j,insertnode;
for(i=1;i<len;i++)
{
insertnode=list[i];
j=i-1;
while(list[j]>insertnode&&j>=0)
{
list[j+1]=list[j];
j--;
}
list[j+1]=insertnode;
}
}
void main()
{
int i,j,n;
int a[20]={1,3,5,7,9};
int index=5;
printf("please input the value:");
scanf("%d",&n);
a[index]=n;
while(n!=-1)
{
index=index+1;
printf("please input the value:");
scanf("%d",&n);
a[index]=n;
}
sort(a,index);
for(i=0;i<index;i++)
{
printf("%d\t",a[i]);
}
printf("\n");
getch();
}