选择法对十个数进行排序

作者在 2008-11-01 09:39:16 发布以下内容

思路:先找到数组的首元素,然后拿首元素与其他元素进行比较,如果首元素大则不变,否则把小的付给首元素,这样a[0]就确定了;接着进行a[1],...,a[n],执行和a[0]的操作,要进行n-1的比较,每一趟的比较是从a[i+1]开始的所有元素的比较

#include<stdio.h>                   /*从小到大的对十个数进行排序*/

void main()
{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]*/
 }


C语言 | 阅读 3005 次
文章评论,共0条
游客请输入验证码
浏览77313次