public class Test { public static void main(String[] args) { int[] a={1,5,6,723,21,23,4,5,6}; sort(a); for (int i : a) { System.out.print("-"+i); } } public static int[] sort(int[] a){ for (int i = 0; i < a.length; i++) { int k=i; for (int j = i+1;j < a.length; j++){ if(a[j]<a[k]){ k=j; } } int temp=a[i]; a[i] = a[k]; a[k] = temp; for (int i1 : a) { System.out.print("-"+i1+"-"); } System.out.println(""); } return a; } }
算法过程如下:
从第一个数开始,往后找到最小的数与之交换位置;接着从第二个数开始,往后找到最小的数与之交换位置;直到最后一个数,选择排序完成。