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個記錄中,關鍵字最大的記錄被交...