最简单的一种排序:选择排序
public class SelectionSort {
private void swap(int i,int j,int[] arr){
int tem = arr[j];
arr[j] = arr[i];
arr[i] = tem;
}
public void selectionSort(int[] arr){
if(arr == null||arr.length < 2 ){
return;
}
int length = arr.length;
for(int i = 0;i < length - 1;i++){
int minIndex = i;
for(int j = i+1;j < length;j++){
//每一轮中找出最小值的下标
minIndex = arr[j] < arr[minIndex] ? j : minIndex;
}
swap(minIndex,i,arr);
}
}
//test
public static void main(String[] args){
int[] arr = {2,7,1,1,2,2,3,3,1,1,9,7};
SelectionSort sort = new SelectionSort();
sort.selectionSort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}