复习数据结构之选择排序

    xiaoxiao2021-03-25  73

    选择排序是一种简单直观的排序算法,它的原理很简单,第一次比较后,选择最小的记录与第一个交换。接着不包括第一个记录进行比较,选择第二个最小的记录与第二个交换,以此类推。

    下面,以例子的方式详细介绍一下选择排序: 假设有数组: 8 4 3 5 7 第一轮排序: [3] 4 8 5 7 第二轮排序: [3 4] 8 5 7 第三轮排序: [3 4 5] 8 7 第四轮排序: [3 4 5 7] 8 最后排序结果: 3 4 5 7 8

    知道了原理 那么代码也很好写了:

    public static void selectSort(long[] array){ long minValue = 0; int minFlag = 0; for(int i = 0 ; i<array.length-1;i++){ minValue = array[i]; minFlag = i; for(int j = i+1;j<array.length;j++){ if(minValue > array[j]){ minValue = array[j]; minFlag = j; } } if( minFlag != i){ array[minFlag] = array[i]; array[i] = minValue; } } }

    测试:

    public static void main(String[] args) { // TODO Auto-generated method stub long[] temp = new long[]{2,4,6,5,3,1}; selectSort(temp); System.out.println("select sort:"); for(int i = 0 ; i<temp.length;i++){ System.out.print(temp[i]+" "); } }

    输出结果:

    转载请注明原文地址: https://ju.6miu.com/read-32790.html

    最新回复(0)