选择排序
1. 选择排序的思想
每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。就如斗地主发牌后,将最大的牌或者最小的牌放到左边或者右边。
2. 编码
package com.zhmcode.selectionsort;
/**
* Created by zhmcode on 2019/2/16 0016.
*/
public class MySelectionSort {
public static void main(String[] args) {
int [] arr = {21,2,1,32,29,1,5,0,90};
int[] results = selectionSort(arr);
for(int item: results){
System.out.print(" "+item);
}
}
/**
* 选择排序,升序排列
*/
public static int [] selectionSort(int [] arr){
// 外层循环控制多少趟排序
for(int i=0;i<arr.length-1;i++){
int k = i;
// 选择最小的记录
for(int j=i+1;j<arr.length;j++){
if(arr[j]<arr[k]){
k = j; //记录当前找到最小数的位置
}
}
// 找到最小数后,进行交换位置
if(i!=k){
int tem = arr[i];
arr[i]=arr[k];
arr[k] = tem;
}
}
return arr;
}
}