面試經常問氣泡排序,排序演算法之氣泡排序總結

2021-10-06 15:44:17 字數 1280 閱讀 2753

在工作中,可能經常需要對某個陣列進行排序,這個時候,就該展示排序演算法了。常見的排序演算法很多,像選擇排序、氣泡排序、快速排序等等。今天,主要總結下氣泡排序,面試中,可能也會經常問到,筆試寫氣泡排序等。

假如有乙個陣列:;

氣泡排序的思想:

第1次比較:將第乙個數和第二個數進行比較,如果第乙個數字大於第二個數字,則進行位置交換;

第2次比較:將第二個數和第三個數進行比較,如果第二個數字大於第三個數字,則進行位置交換;

第3次比較:將第三個數和第四個數進行比較,如果第三個數字大於第四個數字,則進行位置交換;

一直這樣比較,直到第一次比較結束,這樣比較完之後,當前陣列中最大的數就排到最後一位了;

第一次整體比較詳解過程如下:

原始陣列:23   2   15  68   99   17  36  75       

第一次小比較:23和2比較,23比2大,則交換;比較後:2   23   15  68   99   17  36  75 ;

第二次小比較:23和15比較,23比15大,則交換:比較後:2 15

23  68   99   17  36  75 ;

第三次小比較:23和68比較,23比68小,不交換:比較後:2 15   23  68   99   17  36  75 ;

第四次小比較:68和99比較,68比99小,不交換:比較後:2 15   2368

99   17  36  75 ;

第五次小比較:99和17比較,99比17大,則交換:比較後:2 15   2368   17   99  36  75 ;

第六次小比較:36和99比較,99比36大,則交換:比較後:2 15   2368   1736

99  75 ;

第七次小比較:99和75比較,99比75大,則交換:比較後:2   15   23  68   1736  75

99 ;

第一次整體比較完之後,最大的數已經排在末尾,然後取第乙個數字,再重複上面的步驟,依次進行比較,直到所有數字比較完成。

**實現如下:

public static void main(string args) ;

for(int i=0;inumbers[j+1]) }}

system.out.println(arrays.tostring(numbers));    }

程式執行結果圖如下:

氣泡排序知識的總結完了,還有很多排序演算法,以後的文章中再總結。感覺開發工作要學的知識挺多的,但是我們要分清楚主次。知識雖然枯燥,但是我們多看多寫,就會記得更加的深刻。我們應該不斷的奮鬥,成就美好的人生。

氣泡排序 面試會經常被問到

include include include include void main for num 0 num 19 num for h 0 h 19 num h for num 0 num 20 num 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一...

排序演算法之氣泡排序

參考 氣泡排序演算法的運作如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。若...

排序演算法之氣泡排序

對於大多數學計算機的人來說,氣泡排序應該都是接觸的第一種排序方式,氣泡排序的排序思想是比較簡單的,它的演算法的是 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了...