选择法排序

来源:互联网 发布:会计核算软件包括哪些 编辑:程序博客网 时间:2024/05/01 06:56

选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。
简单选择排序的基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。
例:将十个数按从小到大排序
#include<stdio.h>
void main()
{
 int i,j,k,t,a[10]={0};
 printf("请依次输入十个数:");
 for(i=0;i<10;i++)
 scanf("%d",&a[i]);
 for(i=0;i<9;i++)
 {
  k=i;
  for(j=i+1;j<10;j++)
  {
   if(a[j]<a[k])
   k=j;
  }
  if(k!=i)
  {
   t=a[i];
   a[i]=a[k];
   a[k]=t;
  } 
 }
 for(i=0;i<10;i++)
 printf("%4d",a[i]);
}
0 0
原创粉丝点击