氣泡排序法

2021-07-11 02:04:21 字數 1989 閱讀 6541

氣泡排序原理圖:

氣泡排序**:/*

* 陣列排序之氣泡排序:

*     

相鄰元素兩兩比較,大的往後放,第一次完畢,最大值出現在了最大索引處 */

public

classarraydemo ;

system.out

.println("

排序前:

");printarray(arr);/*

//第一次比較

- 1

是為了防止資料越界

- 1 - 0

是為了減少比較的次數

for(int x = 0; x < arr.length - 1 - 0; x++) }

system.out.println("

第一次比較後:

");

printarray(arr); //

第二次比較

- 1

是為了防止資料越界

- 1 - 1

是為了減少比較的次數

for(int x = 0; x < arr.length - 1 - 1; x++) }

system.out.println("

第二次比較後:

");

printarray(arr); //

第三次比較

- 1

是為了防止資料越界

- 1 - 2

是為了減少比較的次數

for(int x = 0; x < arr.length - 1 - 2; x++) }

system.out.println("

第三次比較後:

");

printarray(arr); //

第四次比較

- 1

是為了防止資料越界

- 1 - 3

是為了減少比較的次數

for(int x = 0; x < arr.length - 1 - 3; x++) }

system.out.println("

第四次比較後:

");

printarray(arr); */

// 既然聽懂了,那麼上面的**就是排序**

// 而上面的**重複度太高了,所以用迴圈改進

// for (int y = 0; y < 4; y++)

// }

// } /*

//由於我們知道比較的次數是陣列長度

-1次,所以改進最終版程式

for(int x = 0; x < arr.length - 1; x++) }

}system.out.println("

排序後:

");

printarray(arr); */

//由於我可能有多個陣列要排序,所以我要寫成方法

bubblesort(arr);

system.out

.println("

排序後:

");printarray(arr);}//

氣泡排序**

public

static

voidbubblesort(intarr)}}

}//

遍歷功能

public

static

voidprintarray(intarr)else

}system.out

.println("]");}}

執行結果:

排序前:

[24,69, 80, 57, 13]

排序後:

[13,24, 57, 69, 80]

氣泡排序 氣泡排序法

冒泡法是一種簡單的排序方法,它的實現非常簡單。首先對n個專案進行掃瞄,比較相領兩個專案的大小,若發現違背大小次序則進行互換,由此可以使n個專案中的最大者換到最後。然後對剩下的未排序好的專案再進行掃瞄,使它們的最大者換到表的最後。以此類推,直到將表全部排序好為止。這種排序方法,每遍掃瞄以後,都縮短了待...

排序 氣泡排序法

氣泡排序法,是最簡單的一種排序方法,從第乙個位置開始與相鄰位置比較,判斷是否需要交換位子。第一趟從第乙個位置開始,直到最後乙個位置,a n 1 確定最大 以公升序為例子 的數放在最後一位,a n 1 第二趟,繼續從第乙個位置開始,倒數第二位,a n 2 確定倒數第二大的數在倒數第二位a n 2 演算...

氣泡排序法

從小到大排序 int myarray new int 取長度最長的片語 冒泡法 for int j 1 jfor int i 0 i 如果 myarray i myarray i 1 則 myarray i 上浮一位 if myarray i myarray i 1 從大到小排序 int myarr...