(1)核心原理:
相鄰的兩個單元,比較儲存的資料;如果第乙個單元的資料較大,就將兩個相鄰單元的儲存資料進行交換
(2)排序過程:
從起始單元開始比較,第一次迴圈會得到乙個最大值放在所有單元的最後,然後迴圈多次,每次迴圈都會有乙個最大值放在當前參與比較單元的最後。
(3)**:
<
!doctype html>
"en"
>
(1)核心原理:
從起始位置開始找到最小值所在單元的索引下標,如果最小值所在單元的索引不是起始位置索引,讓它們交換儲存資料
(2)排序過程:
(1)先預設起始位置的數值為最小值,儲存起始位置的索引,從起始位置下乙個位置開始迴圈,如果之後位置上的數值小於儲存索引號位置上的數值,將這個位置的索引替換之前儲存的索引,依次比較得到本次迴圈最小值的索引號。
(2)比較儲存的索引是否為起始位置索引,如果不是交換兩個位置上的資料,將本次迴圈的最小值放到迴圈的起始位置上。
(3)執行多次迴圈,完成排序。
(3)**:
<
!doctype html>
"en"
>
選擇排序的執行效率比氣泡排序要高
選擇排序,如果發生大小順序問題,只是做賦值索引的操作,等迴圈完成,做一次資料交換。
而氣泡排序,每次發生大小順序問題,都要執行資料交換,資料交換的次數遠高於氣泡排序,所以選擇排序的執行效率比氣泡排序要高。
排序 氣泡排序與選擇排序
最近複習大學學過的演算法,這裡做個筆記。排序,我們學過 這裡需要了解什麼是時間複雜度,什麼是空間複雜度。簡單而言,時間複雜度指執行的次數,空間複雜度指消耗的記憶體。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序 如從大到小 首字母從z到a 錯誤就把他們交換過來。走訪元素的工作是重複地...
選擇排序與氣泡排序
今早心血來潮,又想看看氣泡排序.於是乎度娘一番,找到了度娘給我的這篇文章,前面的文字描述還是簡單易懂的,可惜給出的 示範有些文不對題.於是乎又wiki一番.發現上文給出的 形似選擇排序,於是總結如下 我們假設有乙個陣列 624159 對應的索引也就是 0 5,如果我想描述第二個位置,也就是數字2的位...
選擇排序與氣泡排序
選擇排序 static void sort1 int arr var temp arr i arr i arr min arr min temp 氣泡排序 static void sort2 int arr static void main string args sort1 arr foreach...