A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张先庆 中级黑马   /  2013-7-18 22:14  /  1729 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-7-21 13:46 编辑

                                                                                           经典排序算法(Java版)

1、冒泡排序 Bubble Sort
最简单的排序方法是冒泡排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的气泡,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个气泡序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即的元素在下面,就交换它们的位置。显然,处理一遍之后,最轻的元素就浮到了最高位置;处理二遍之后,次轻的元素就浮到了次高位置。在作第二遍处理时,由于最高位置上的元素已是最轻元素,所以不必检查。一般地,第i遍处理时,不必检查第i高位置以上的元素,因为经过前面i-1遍的处理,它们已正确地排好序。这个算法可实现如下。
算法如下:
    void doBubbleSort(int[] src)
    {
       int len=src.length;
       for(int i=0;i<len;i++)
       {
           for(int j=i+1;j<len;j++)
           {
              int temp;
              if(src>src[j])
              {
                  temp=src[j];
                  src[j]=src;
                  src=temp;
              }            
           }
           printResult(i,src);
       }      
    }
2、选择排序 Selection Sort
选择排序的基本思想是:对待排序的记录序列进行n-1遍的处理,第1遍处理是将L[1..n]中最小者与L[1]交换位置,第2遍处理是将L[2..n]中最小者与L[2]交换位置,......,第i遍处理是将L[i..n]中最小者与L交换位置。这样,经过i遍处理之后,前i个记录的位置就已经按从小到大的顺序排列好了。
  当然,实际操作时,也可以根据需要,通过从待排序的记录中选择最大者与其首记录交换位置,按从大到小的顺序进行排序处理。
算法如下:
    void doChooseSort(int[] src)
    {
       int len=src.length;
       int temp;
       for(int i=0;i<len;i++)
       {
           temp=src;
           int j;
           int samllestLocation=i;//最小数的下标
           for(j=i+1;j<len;j++)
           {
              if(src[j]<temp)
              {
                  temp=src[j];//取出最小值
                  samllestLocation=j;//取出最小值所在下标
              }
           }
           src[samllestLocation]=src;
           src=temp;
           printResult(i,src);
       }
    }


评分

参与人数 1黑马币 +3 收起 理由
杨兴庭 + 3 赞一个!

查看全部评分

9 个回复

正序浏览
看了了解了谢谢
回复 使用道具 举报
学习一下。
回复 使用道具 举报
希尔排序啊123
回复 使用道具 举报
希尔排序啊
回复 使用道具 举报
再来一次吧啊哈
回复 使用道具 举报
看看了,学习了,呵呵
回复 使用道具 举报
楼主您好。我已将您的帖子该为感言贴,,对此如有疑问请及时向我反馈。。。。。
回复 使用道具 举报
来点有用的啊~~比如速度最快的希尔排序啊,快速排序之类的.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马