选择排序(Selection sort)是一种简单直观的排序算法。原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
实现代码:
/**
* java实现简单的选择排序
* @author xip
*
*/
public class SelectionSort {
public static void main(String[] args) {
int[] arr={21,2,5,99,77,34,3};
sort(arr);
show(arr);
}
/**
* 选择排序的具体实现
* @param arr
*/
public static void sort(int[] arr) {
for(int i=0;i<arr.length;i++){
int min_index=i; //将数组下标i标记为最小元素下标
for(int j=i+1;j<arr.length;j++){ //遍历数组,逐个比较,找到最小的元素
if(arr[j]<arr[min_index]){
min_index=j;
}
}
swap(arr,i,min_index);
}
}
//交换两元素的方法
public static void swap(int[] arr, int i, int j) {
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
//格式化输出
public static void show(int[] arr) {
for(int i:arr){
System.out.print(i+",");
}
}
}