作者在 2008-11-01 09:39:16 发布以下内容
思路:先找到数组的首元素,然后拿首元素与其他元素进行比较,如果首元素大则不变,否则把小的付给首元素,这样a[0]就确定了;接着进行a[1],...,a[n],执行和a[0]的操作,要进行n-1趟的比较,每一趟的比较是从a[i+1]开始的所有元素的比较
#include<stdio.h> /*从小到大的对十个数进行排序*/
{void sort(int array[],int n);
int i;
int a[10];
printf("\n please inpt the node:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,10);
printf("\n the array :");
for(i=0;i<10;i++)
printf("%4d",a[i]);}
void sort(int array[],int n)
{int k,i,j,t;
for(i=0;i<n-1;i++) /*要进行n-1趟的比较*/
{k=i; /*下标最小的元素找出*/
for(j=i+1;j<n;j++) /*进行比较,把最小的元素付给a[k]*/
if(array[k]>array[j]) k=j;
t=array[i];array[i]=array[k];array[k]=t;} /*把array[k]付给array[i]*/
}