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

选择排序

时间:2017-09-02 01:05:28      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:min   sort   记录   位置   交换   span   学习   pre   i++   

选择排序:选择排序是一种简单直观的排序算法和冒泡排序差不多,,有人会觉得他两其实差不多,

先说完这个的原理,,,再说说区别吧。

它的工作原理是每一次从待排序的数据元素中选出最小

(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

 

 

写完冒泡排序,在写选择排序,忽然感觉他两很相似,,在我看来的区别

是:冒泡排序是将待排序的数组中的所有小于待排序数组的第一位都得与其进行交换

而选择排序是将最小的数记录直到找到待排序数组中最小的数,然后在进行交换,

这样就提高了效率,不用每次都进行交换。。。(这仅仅是个人的理解,希望可以再下面提出

正好我也可以学习下)

 1 public void selectSort(int[] num){
 2     int minIndex=0;
 3     for(int i=0;i<num.length-1;i++){
 4         minIndex=i;
 5         for(int j=i+1;j<num.length;j++){
 6             if(num[minIndex]>num[j]){
 7                 minIndex=j;
 8             }
 9         }
10         if(minIndex!=i){
11             int temp=num[i];
12             num[i]=num[minIndex];
13             num[minIndex]=temp;
14         }
15     }
16 }

 

选择排序

标签:min   sort   记录   位置   交换   span   学习   pre   i++   

原文地址:http://www.cnblogs.com/duxiaoqian/p/7465460.html

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