Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4251068
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: C/C++

2011-09-24 13:29:25

        每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法

   
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>

  4. int main(void)
  5. {
  6.     int a[10],i,j,tmp,b;
  7.     srand(time(NULL));
  8.     for(i=0;i<10;i++)
  9.         a[i] = rand()%100;
  10.     for(i=0;i<10;i++)
  11.         printf("%3d",a[i]);
  12.     printf("\n");

  13.     for(i=0;i<9;i++)
  14.     {
  15.         tmp = i;
  16.         for(j=i+1;j<10;j++)
  17.         if(a[tmp]>a[j])
  18.             tmp=j;
  19.         if(i!=tmp)
  20.         {
  21.             b=a[tmp];
  22.             a[tmp]=a[i];
  23.             a[i]=b;
  24.         }
  25.     }    

  26.     for(i=0;i<10;i++)
  27.         printf("%3d",a[i]);
  28.     printf("\n");
  29.     exit(EXIT_SUCCESS);
  30. }
  
  1. ywx@ywx:~/Desktop/yu/bishi$ ./bubble1
  2.  30 48 18 56 10 25 98 94 20 15
  3.  10 15 18 20 25 30 48 56 94 98



阅读(1316) | 评论(0) | 转发(1) |
0

上一篇:1 冒泡排序

下一篇:MathType并安装 word 公式

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