選擇排序:比如在一個長度為N的無序數組中,在第一趟遍歷N個數據,找出其中最小的數值與第一個元素交換,第二趟遍歷剩下的N-1個數據,找出其中最小的數值與第二個元素交換......第N-1趟遍歷剩下的2個數據,找出其中最小的數值與第N-1個元素交換,至此選擇排序完成。
選擇排序的java實現:
1 package com.mianshi.easy; 2 public class Selection { 3 4 public static void main(String[] args) { 5 int[] a = {3,11,12,15,4,6,9,8,7}; 6 7 selectionSort(a); 8 9 for(int i = 0; i < a.length; i++){10 System.out.代碼中k的作用類似于一個指針,指向最小的數。
算法穩定性:不穩定的排序算法。選擇排序是不穩定的(比如序列[5, 5, 3]第一次就將第一個[5]與[3]交換,導致第一個5挪動到第二個5后面)。
時間復雜度:平均時間復雜度為
新聞熱點
疑難解答