排序演算法(一) 氣泡排序

2021-09-28 22:17:19 字數 949 閱讀 7168

氣泡排序(bubble sort)是一種簡單的排序演算法。它重複地走訪過要排序的數列,每次比較相鄰兩個元素,如果他們逆序就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端。

氣泡排序演算法的執行如下:

從第乙個數開始,比較相鄰兩個數,如果逆序,則交換

當一次迴圈完之後,最大的數放到了最後的位置

重複此過程,比較前n-1個數,將第二大的數放到倒數第二的位置

重複n-1次之後,陣列排序完成

public class bubblesort 

//end是每次比較的結束位置

for (int end = arr.length - 1; end > 0; end--)

for (int i = 0; i < end; i++) }}

private static void bubblesort2(int arr)

//i是迴圈次數

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

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

//交換

private static void swap(int arr, int i, int j)

private static void swap2(int arr,int i,int j)

//輸出

private static void print(int arr)

system.out.println(res.tostring());

}public static void main(string args) ;

bubblesort(arr);

print(arr);

}}

排序演算法 一 氣泡排序

排序的演算法有很多,例如直接插入排序,希爾排序,氣泡排序,選擇排序,快速排序,堆排序等等。最簡單基礎就是氣泡排序了,關於排序hi有乙個系列。今天是第一篇,主要講氣泡排序演算法思想以及從各個方面對它進行優化。氣泡排序 原理舉例 設陣列長度為n。1 比較相鄰的前後二個資料,如果前面資料大於後面的資料,就...

排序演算法(一) 氣泡排序

排序思路 樣例 1.從首位元素開始,前後元素相比較,保證 小在前 大在後 逐個元素向後遞推。一遍結束後,最大元素將位於排序末位。16 35 9 35 5 35 20 35 結果 2.因為最大元素已經排位完畢,所以不考慮末位最大元素,從頭開始,再做一輪排序。排序範圍 結果 可以看出,第二大元素已經排至...

排序演算法(一)氣泡排序

氣泡排序 bubble sort,台灣譯為 泡沫排序或氣泡排序 是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。以將陣列 number n 中的n個數從小到大排序為例 ...