選擇排序—簡單選擇排序

簡單選擇排序

在要排序的一組數中,選出最小的數與第一個位置的數交換;然後再剩下的數再找最小的與第二個位置的數交換,如此循環到倒數第二個數和最後一個數比較爲止。

排序流程

  1. 首先從原始數組中選擇最小的1個數據,將其和位於第1個位置的數據交換。
  2. 接着從剩下的n-1個數據中選擇次小的1個元素,將其和第2個位置的數據交換。
  3. 然後,這樣不斷重複,直到最後兩個數據完成交換,至此,便完成了對原始數組的從小到大的排序。

例如

選擇排序

示例代碼


public class SimpleChoiceSortDemo {
    public static void main(String[] args) {
        int[] a = { 2, 7, 8, 3, 10, 62, 92, 0, 5, 4 };
        System.out.println("初始序列:" + Arrays.toString(a));
        simpleChoiceSort(a);
        System.out.println("最後:" + Arrays.toString(a));
    }

    public static void simpleChoiceSort(int[] a) {
        int index;
        for (int i = 0; i < a.length; i++) {
            index=i;//初始索引
            for (int j = i; j < a.length; j++) {
                if(a[j]< a[index]){//如果後面的值大於索引值,修改索引值
                    index=j;
                }
            }
            if(index !=i ){//如果兩個不相等 則,交換兩個位置的值
                int temp=a[i];
                a[i]=a[index];
                a[index]=temp;
            }
            System.out.println("第" + (i+1) + "次:" + Arrays.toString(a));
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章