选择排序基本为优化冒泡排序 冒泡排序依次比较交换确定当前下标元素数据。每次都会进行交换操作选择排序则暂时记录当前确定数据的下标位置,最后在进行交换位置 java示例 /** * Created by channel on 2017/2/19 */ public class ChooseSort { public int[] sort(int [] array){ for (int i = 0; i < array.length; i++) { int chooseIndex=i; for (int j = i; j < array.length; j++) { if(array[chooseIndex]<array[j]){ chooseIndex=j;//记录确定的值的下标,先不进行交换 } } //比较完成确定了最后的值再进行交换 if(chooseIndex!=i){ swap(array,i,chooseIndex); } } return array; } public void swap(int [] array,int i,int j){ int temp=array[i]; array[i]=array[j]; array[j]=temp; } public static void main(String[] args) { ChooseSort chooseSort=new ChooseSort(); int[] array=new int[]{1,5,2,3,7,3,5,9,2}; chooseSort.sort(array); for (int i : array) { System.out.println(i); } } }