選擇排序原理:每一趟從待排序的記錄中選出最小的元素,順序放在已排好序的序列最後,直到全部記錄排序完畢。也就是:每一趟在n-i+1(i=1,2,…n-1)個記錄中選取關鍵字最小的記錄作為有序序列中第i個記錄。基於此思想的算法主要有簡單選擇排序、樹型選擇排序和堆排序。
舉例說明:{2,3,0,9,12,7,1}
第一次從頭遍歷尋找最小的記錄為0,則將0和第一位進行交換。
結果:0, 3, 2, 9, 12, 7, 1
第二次 從第二位遍歷尋找最小的記錄為1,則將1和第二位3進行交換
結果:0, 1, 2, 9, 12, 7, 3
依次類推,結果:0, 1, 2, 3, 7, 9, 12。
為了方便大家理解,我畫了一個原理圖如下。
選擇排序原理圖
大家看完原理圖一定都理解了選擇排序,下方為選擇排序的代碼,大家在自己的ide中練習一次加深記憶。
選擇排序代碼
大家還有什麼不懂的歡迎評論區留言哦~我們下期再見
下面貼上前兩期排序的文章,便於大家複習:
經典排序算法二 快速排序(JAVA實現)經典排序算法一 冒泡排序(JAVA實現)