氣泡排序是一種相鄰資料交換的排序方法,通常作為排序演算法的入門演算法來學習。
基本思想:對待排序的記錄關鍵字從後往前(掃面順序不同相應比較就不同)進行多遍掃瞄,當發現相鄰倆關鍵字的次序與要求的排序規則不符時,就交換這倆個記錄。這樣,關鍵字較小的記錄將從後面向前面移動,就像氣泡上浮一樣。
具體交換過程:
設需排序的記錄共n個,其關鍵字用陣列a儲存,則:(規則為從小到大)
(1)首先,將a[n-1]與a[n-2]進行比較,若a[n-1]
(2)修改陣列下標,使需要比較的元素為a[n-2]與a[n-3],重複步驟(1),對其做比較;
重複該過程,直至比較完a[1]與a[0],完成一遍掃瞄後,最小關鍵字已儲存在a[0]中;
(3)重複,進行第二遍掃瞄,掃瞄到a[2]與a[1]比較即結束;
(4)通過第n-1遍掃瞄,所有關鍵字排序完成。
c++**實現:
1.隨機數生成部分 creatdata
2.氣泡排序部分 bubblesort
3.main函式測試部分 bubblesorttestmain
java常用演算法之氣泡排序
氣泡排序的思想 陣列中的相鄰元素進行比較,若發現發現跟比較策略相同那麼交換兩者的位置,最後最大或者最小的元素會被放在陣列的最後面。氣泡排序的實現方式 首先確定遍歷次數,之後從陣列元素的首位元素開始跟相鄰的元素進行比較。實現 氣泡排序 思想 從第乙個位置開始 讓相鄰的元素比較大小並且交換 每一趟都會將...
iOS常用演算法之氣泡排序
冒泡演算法是一種基礎的排序演算法,這種演算法會重複的比較陣列中相鄰的兩個元素,如果乙個元素比另乙個元素大 小,那麼就交換這兩個元素的位置。重複一直比較到最後乙個元素.1.基本的氣泡排序演算法 void bubblesorting nslog 排序後的陣列 array nslog 迴圈次數 d cou...
面試經常問氣泡排序,排序演算法之氣泡排序總結
在工作中,可能經常需要對某個陣列進行排序,這個時候,就該展示排序演算法了。常見的排序演算法很多,像選擇排序 氣泡排序 快速排序等等。今天,主要總結下氣泡排序,面試中,可能也會經常問到,筆試寫氣泡排序等。假如有乙個陣列 氣泡排序的思想 第1次比較 將第乙個數和第二個數進行比較,如果第乙個數字大於第二個...