氣泡排序與選擇排序 拙解

2021-09-24 04:16:34 字數 782 閱讀 9632

選擇排序與氣泡排序

對於初學者來說兩種排序方式可能會有些迷糊,但是其實只要弄清兩個排序方式的本質就可以了。

- 氣泡排序

本身這種排序是極其穩定的 但是其時間複雜度也會很高 自行注意。

**氣泡排序的基本思想是將陣列中的每個相鄰元素進行兩兩比較,按照小元素在前(或大元素在前)的原則確定是否進行交換。這樣每一輪執行之後,最大(或最小)的元素就會被交換到了最後一位。

完成一輪之後,我們可以再從頭進行第二輪的比較,直到倒數第二位(因為最後一位已經是被排序好的了)時結束。這樣一輪之後,第二大(或第二小)的元素就會被交換到了倒數第二位。

同樣的過程會依次進行,直到所有元素都被排列成預期的順序為止。這個過程是不是很像是水中的起泡乙個個冒起來的過程.!

有五個數需要排序:

for(j=0;j<5;j++)

}- 選擇排序

每一趟從待排序的資料元素中選出最小(或最大)的乙個元素,順序放在已排好序的數列的最後,直到全部待排序的資料元素排完,其實是下標法的一種表示 。選擇排序是不穩定的排序方法

//選擇排序

for(i=0;i>a[i];

}for(i=0;ia[max])

}temp=a[i];

a[i]=a[max];

a[max]=temp;//將a[i+1]到a[10]中最大值與a[i]交換

}for(i=0;i}cout<

排序 氣泡排序與選擇排序

最近複習大學學過的演算法,這裡做個筆記。排序,我們學過 這裡需要了解什麼是時間複雜度,什麼是空間複雜度。簡單而言,時間複雜度指執行的次數,空間複雜度指消耗的記憶體。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序 如從大到小 首字母從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...