主函数输入一个十个元素的整型数组,调用函数实现对该数组元素自小到大的插入法排序。

用C语言

#include<stdio.h>
void sortt(int *x,int N)
{int i,j,tmp;
for(i=1; i<N; i++)
{ tmp=x[i]; //让位
for(j=i-1; j>=0 && x[j]>tmp; j--) // 移位
x[j+1]=x[j];
x[j+1]=tmp; //归位
}
for(i=0; i<N; i++) printf("%d ",x[i]);
}
void main()
{ int x[10];
int k;
for(k=0;k<10;k++)
scanf("%d",&x[k]);
sortt(x,10);

}

标准的插入排序
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-30
//---------------------------------------------------------------------------

#include <stdio.h>
void insort(int *a,int n)
{
int i,j,t;
for (i = 0; i<n; i++) {
t=a[i];
for (j=i-1; j>=0; j--) {
if (a[j]>t) a[j+1]=a[j];
else break;
}
a[j+1]=t;
}
}
int main(void)
{
int a[10],i;
for (i = 0; i < 10; i++) {
scanf("%d",&a[i]);
}
insort(a,10);
for (i = 0; i < 10; i++) {
printf("%d ",a[i]);
}
putchar('\n');
return 0;
}
//---------------------------------------------------------------------------