选择类排序算法的思想:在第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);
}
}
选择排序算法详解
本文深入解析了选择排序算法的核心思想,即在每趟排序中选取最小元素并将其置于已排序序列的末尾。通过实例代码展示了算法的具体实现过程,并讨论了算法的稳定性问题,指出在处理重复数据时可能导致的位置变化,进而影响排序的稳定性。
122

被折叠的 条评论
为什么被折叠?



