冒泡與選擇演算法區別

2022-07-12 08:21:07 字數 911 閱讀 1105

1.冒泡

冒泡就是 1   2  3   4  5 6 7 8 9  

2  1   3   4  5  6  7  8   9

2   3   1  4  5   6  7  8  9 

2    3   4   1  5  6  7  8 9

2     3     4  5   1   6  7  8  9

2    3  4  5  6 7  8  9   1

這是第一次迴圈  如此迴圈9次  就變成

9  8  7  6  5  4  3  2   1

**如下  這裡是降序,要是想公升序只需要把if( a[j] a[j+1])

for( int i =0 ; i《10; i++)

for( int j = 0; j < 10 - i -1; j ++){

if( a[j] int s=a[j] + a[j+1];

a[j] = s - a[j];

a[j+1] = s - a[j];

2.選擇排序

1  2  3 4 5

2  1  3  4  5

3  1   2  4  5

4    1  2  3  5

5     1  2  3   4

這是拿第乙個與後面的 都比較一次,每當不符合條件時候就交換數值。

**這裡是公升序,要是想降序只需要 把if(a[i] >a[j]) 改成if(a[i] for( int i =0 ; i《10; i++)//這裡是 10 是 陣列的個數

for( int j = 0; j < 10  ; j ++){//10 陣列的個數

if( a[i] >a[j])

int s=a[i] + a[j];

a[i] = s - a[j];

a[j] = s - a[i];

冒泡演算法與選擇排序

冒泡演算法 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一次 首先比較第1個和第2個數,將小數放前,大數 放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。至此第一次結束,將最大的數放到了最後。在第二次 仍從第一對數開始比較 因...

java基礎冒泡演算法與選擇演算法

終於有大段時間來靜下來學習了。基礎打好,不看別人的 還真的敲不出什麼 重新複習一遍。public class day 2 int arr 1 day 2 paixu new day 2 paixu.xuanze arr paixu.maopao arr 1 system.out.println 選擇...

選擇排序與氣泡排序區別與比較

每一趟從待排序的資料元素中選出最小 或最大 的乙個元素,順序放在已排好序的數列的最後,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法。如果在 c 語言中去實現選擇排序,我們最常見的就是兩層迴圈的實現方式。從選擇排序的思想出發,我們都不難看出 n s圖如下 演算法如下 for i 0,n 2...