选择排序也是比较简单的一种排序方法,原理也比较容易理解,它与冒泡排序的比较次数相同,但选择排序的交换次数少于冒泡排序。冒泡排序是在每次比较之后,若比较的两个元素顺序与待排序顺序相反,则要进行交换,而选择排序在每次遍历过程中只记录下来最小的一个元素的下标,待全部比较结束之后,将最小的元素与未排序的那部分序列的最前面一个元素交换,这样就降低了交换的次数,提高了排序效率。
java实现的代码如下:
- public class ChoseSort {
-
- public ChoseSort(){};
-
-
- public int[] ChoseSort(int[] intArr){
- for(int i=0;i<intArr.length;i++){
- int lowIndex = i;
-
- for(int j=i+1;j<intArr.length;j++){
- if(intArr[j]<intArr[lowIndex]){
- lowIndex = j;
- }
- }
-
-
- int temp = intArr[i];
- intArr[i] = intArr[lowIndex];
- intArr[lowIndex] = temp;
- }
-
- return intArr;
- }
-
- public static void main(String[] args) {
- ChoseSort choseSort = new ChoseSort();
- int[] intArr = {5,6,9,2,4,3,8};
- int[] intArrAfterSort = choseSort.ChoseSort(intArr);
- for(int arrItem:intArrAfterSort){
- System.out.print(arrItem+" ");
- }
- }
- }
选择排序
原文:http://www.cnblogs.com/xiaoyuting1234/p/4420456.html