码迷,mamicode.com
首页 > 编程语言 > 详细

关于冒泡排序与选择排序

时间:2015-03-05 22:12:03      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:

    冒泡排序是最早接触的排序方法了,思路也很简单,两层循环,相邻数比较,小的上升大的下沉。

    至于选择排序,思路上与插入排序有些类似,不过比较的范围变成了从当前数i到n-1,找出其中最小的数,记下下标,在外层循环中完成一次交换。不过在交换之前需要加一个大小比较的判定,这样在某种程度上就节省了成本。

    BubbleSort:

 1         final int[] arr={57,68,59,52};
 2         for(int i=0;i<arr.length;i++){
 3             /*此处需要-1的原因是,内层比较是当前数与后一个数的比较,如果内层循环可以到最后一个数,那么就会出现数组越界Exception*/
 4             for(int j=i;j<arr.length-i-1;j++){
 5                 if(arr[j]>arr[j+1]){
 6                     int temp;
 7                     temp=arr[j+1];
 8                     arr[j+1]=arr[j];
 9                     arr[j]=temp;
10                 }
11             }
12         }

     SelectionSort:

 1         int[] arr={57,68,59,52};
 2         
 3         for(int i=0;i<arr.length;i++){
 4             int minIndex=i;
 5             for(int j=i+1;j<arr.length;j++){
 6                 if(arr[j]<arr[minIndex])
 7                     minIndex=j;
 8             }
 9             /*交换之前需要添加一个比较的验证过程*/
10             if(arr[i]>arr[minIndex]){
11                 int temp;
12                 temp=arr[minIndex];
13                 arr[minIndex]=arr[i];
14                 arr[i]=temp;
15             }
16 
17         }

 

关于冒泡排序与选择排序

标签:

原文地址:http://www.cnblogs.com/yNds/p/4316692.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!