氣泡排序演算法與選擇排序演算法的對比

2021-10-03 17:05:30 字數 1253 閱讀 4836

int

a =

;

定義乙個int型別一維陣列,分別用氣泡排序演算法與選擇排序演算法對其進行排序。
第1次參與迴圈的資料:4 3 7 5 0

第一次比較:3 4 7 5 0

第二次比較:3 4 7 5 0

第三次比較:3 4 5 7 0

第四次比較:3 4 5 0 7

第二次參與迴圈的資料:4 5 0 7 (每次新的迴圈開始時,最前面的元素就不參加了)

。。。。。。。。。依此類推直到最後沒有可比較的元素。

**實現:

int

a =

;int count =0;

//用乙個count值接收交換次數,用來跟選擇排序用的交換次數進行比較

for(

int i = a.length -

1; i >

0; i--)}

} system.out.

println

("交換次數為:"

+ count)

;//可得交換次數為6

for(

int i =

0; i < a.length; i++

)

選擇排序演算法是從一組資料中選擇出最小的元素,將它與最前面的元素進行位置交換。這也是選擇排序演算法的核心。

第1次參與迴圈的資料:4 3 7 5 0

第一次排序:0 3 7 5 4

第二次參與迴圈的資料:3 7 5 4

第二次排序:3 7 5 4

第三次參與迴圈的資料:7 5 4

第三次排序:4 5 7

第四次參與迴圈的資料:5 7

第四次排序:5 7

**實現:

int

array =

;int count1 =0;

for(

int i =

0; i < array.length -

1; i++)}

if(min != i)

} system.out.

println

("交換次數為:"

+ count1)

;//最終交換次數為2

for(

int i =

0; i < array.length; i++

)

冒泡演算法與選擇排序

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

排序演算法 冒泡 選擇排序

思路 1.從頭開始比較每一對相臨的元素,其後者比前者大則交換,直到一輪比較結束 2.排除1中找到最大的元素,重複1的步驟 class bubblesort 如果在某一趟比較後,序列就變得完全有序,此時就沒有必要再繼續比較下去 func sort2 if sorted 如果數列在尾部已經有序 部分有序...

排序演算法 氣泡排序 選擇排序

1 氣泡排序 這個氣泡排序的原理就像水裡的魚吐泡泡一樣,起初是小一點的泡泡,然後越來越大,最後的最大。演算法描述 1 設待排序序列中的記錄的數為n 2 一般的,第i趟起泡排序從1到n i 1 3 依次比較相鄰兩個記錄的數字,如果發生逆序,則交換 4 其結果是這n i 1個記錄中,關鍵字最大的記錄被交...