Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42678
  • 博文数量: 20
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 200
  • 用 户 组: 普通用户
  • 注册时间: 2015-11-05 10:35
文章分类

全部博文(20)

文章存档

2016年(16)

2015年(4)

我的朋友

分类: C/C++

2016-04-14 16:30:07

直接选择排序:

基本思想:把一个无序集中的最小值选择出来放到有序集中

C语言代码:

点击(此处)折叠或打开

  1. #include<stdio.h>
  2. #define MAX 225

  3. int R[MAX];
  4. //直接选择排序
  5. void Select_Sort(int n)
  6. {
  7.     int i,j,k;
  8.     for(i=1;i<n;i++)
  9.     {
  10.         k=i;
  11.         for(j=i+1;j<=n;j++)
  12.         {
  13.             if(R[j]<R[k])
  14.             k=j;
  15.         }
  16.         if(k!=i)
  17.         {
  18.             R[0]=R[i];
  19.             R[i]=R[k];
  20.             R[k]=R[0];
  21.         }
  22.     }
  23. }

  24. int main()
  25.  {
  26.      int i,n;
  27.      printf("直接选择示例:\n");
  28.      printf("Please input the n above 1 and below %d\n",MAX);
  29.      scanf("%d",&n);
  30.      if(n<1||n>MAX)
  31.      {
  32.          printf("Please input right n!");
  33.          return 0;
  34.      }
  35.      printf("Please input the array under n one by one:\n");
  36.      for(i=1;i<=n;i++)
  37.      {
  38.          scanf("%d",&R[i]);
  39.      }
  40.      printf("The array you input is:\n");
  41.      for(i=1;i<=n;i++)
  42.      {
  43.          printf("%d ",R[i]);
  44.      }
  45.      Select_Sort(n);
  46.      printf("The array after Quick_Sort is:\n");
  47.      for(i=1;i<=n;i++)
  48.      {
  49.          printf("%d ",R[i]);
  50.      }
  51.      return 0;
  52.  }

阅读(845) | 评论(0) | 转发(0) |
0

上一篇:快速排序

下一篇:堆排序

给主人留下些什么吧!~~