选择类排序算法的思想:在第i趟的记录中选取关键字第i小的记录作为该有序序列的第i个记录,关键点:如何从剩余的待排序序列中找出最小或者最大的那个记录。
对于其稳定性进行分析:出现重复的数据时,若交换是一个位置由前变后,则发生了位置的改变,因此该算法不稳定。
代码实现:
import java.util.Arrays; public class ChoiceSort { public static void choiceSort(int[] a){ // int temp = 0; for (int i =0;i<a.length-1;i++){ //内层循环将从i+1索引一一与i索引的值进行比较 for (int j =i+1;j<a.length;j++){ if(a[j]<a[i]){ temp = a[i]; a[i] = a[j]; a[j] = temp; } } System.out.println(Arrays.toString(a)); } } public static void main(String[] args) { int[] a = {1,9,5,0,4,-8,-7,-9}; choiceSort(a); } }