package com.wang.principle;
public class Tets1 {
/**
* 选择排序
*/
public static void selectionSort(int[] a) {
int length=a.length;
for(int i=0;i<length;i++){
int min=i;//假设当前是最小值
for(int j=i+1;j<length;j++){
if(a[j]<a[min])
{
min=j;//查找真正的最小值
}
}
if(min<i){//如果min中数字变了说明找到了最小值,交换
int tmp=a[min];
a[min]=a[i];
a[i]=tmp;
}
}
}
//main方法测试
public static void main(String[] args) {
int[] b = { 49, 38, 65, 97, 76, 13, 27, 50 };
int[] c = { 13, 38, 65, 97, 76, 13, 2, 50 };//不稳定案例:两个相同的13排序时第一个13和2交换后相对位置改变了
selectionSort(b); for (int i : b) System.out.print(i + " "); } }