Chinaunix首页 | 论坛 | 博客
  • 博客访问: 239270
  • 博文数量: 108
  • 博客积分: 3092
  • 博客等级: 中校
  • 技术积分: 1172
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-25 16:35
文章分类

全部博文(108)

文章存档

2011年(3)

2010年(43)

2009年(19)

2008年(43)

我的朋友

分类: C/C++

2008-08-01 09:08:09

排序:大->小
选择排序:
 第一步:遍历N个数据,找到最大的一个,放在位置0
 第二步:遍历N-1个数据,找到最大的一个,放在位置1
      。。。。。。
 code;
 for(i=0;i
    for(j=i+1;j
       if(a[j]>a[i])
       {
           itemp=a[j];
           ipos=j;      //仅记录,不交换
       }
 
冒泡排序:
就像气泡升起一样,每次循环,最“轻”那个升到顶部,之所以用升,这是个渐进的过程,就是不停的与相邻的数字比较,互换,比较,互换。。。实现的。
code:
 for(i=1;i
    for(j=0;j
       if(a[j]>a[j+1])
       {
           temp=a[j];
           a[j]=a[j+1];
           a[j+1]=temp;
       }
 
两者比较:
两者的循环次数是一样的,但是在选择排序中,每次循环时仅对最大数据的下标做记录,最后再根据记录的下标仅仅交换一次。而在冒泡排序中,交换的次数在0-N次之间。
阅读(830) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~