今天自己學習了一些演算法,發現冒泡演算法特別有趣,而且也是我們程式設計師平時面試的時候可能會遇到的面試題,所以我自己總結了一下冒泡演算法,一方面是自己學習的記錄,另外一方面也希望能夠對讀者有所幫助。
我們就選一組陣列來進行氣泡排序,然後解釋一下:
冒泡演算法的話,我個人的理解就是通過對相鄰兩個數之間相互比較大小,之後逐漸的往後進行比較,直到比較出演算法是從大到小或者是從小到大排序為止。
我假設現在有這樣的一組數:1, 5, -8, 66, 93, -55, 3, 58, 91, 2000, -654, 993
我們要把這一組數從大到小進行排列:
*我們比較第一次之後的結果:5、 1、 66、 93、 -8、 3、 58、 91、 2000、 -55、 993、 -654
比較第二次的結果:5、 66、 93、 1、 3、 58、 91、 2000、 -8、 993、 -55、 -654、
比較第三次的結果:66、 93、 5、 3、 58、 91、 2000、 1、 993、 -8、 -55、 -654、
比較第四次的結果:93、 66、 5、 58、 91、 2000、 3、 993、 1、 -8、 -55、 -654、
比較第五次的結果:93、 66、 58、 91、 2000、 5、 993、 3、 1、 -8、 -55、 -654、
比較第六次的結果:93、 66、 91、 2000、 58、 993、 5、 3、 1、 -8、 -55、 -654、
比較第七次的結果:93、 91、 2000、 66、 993、 58、 5、 3、 1、 -8、 -55、 -654、
比較第八次的結果:93、 2000、 91、 993、 66、 58、 5、 3、 1、 -8、 -55、 -654、
比較第九次的結果:2000、 93、 993、 91、 66、 58、 5、 3、 1、 -8、 -55、 -654、
比較第十次的結果:2000、 993、 93、 91、 66、 58、 5、 3、 1、 -8、 -55、 -654、
比較第十一次的結果:2000、 993、 93、 91、 66、 58、 5、 3、 1、 -8、 -55、 -654、
最終排序的結果:2000、993、 93、91、66、58、5、3、1、-8、 -55、-654
氣泡排序其實在這個陣列中就不外乎採用兩個迴圈以及對它們比較之後進行位置的對換,理解起來應該是非常簡單的,當然了如果我們是想要從小排到大,只需要是判斷前乙個是否大於後乙個,之後交換位置即可。最後我們再使用乙個for迴圈將結果輸出。
最後附上**:
package com.zyj.test;
public
class mybubblesort ;
for (int i = 0; i < bs.length - 1; i++) }}
system.out.println("最終的排序結果是:");
for (int m = 0; m < bs.length; m++)
}}
氣泡排序演算法就介紹到這裡,希望對讀者有所幫助。 氣泡排序演算法 C 氣泡排序演算法排序詳解
氣泡排序是最簡單的排序方法,理解起來容易。雖然它的計算步驟比較多,不是最快的,但它是最基本的,初學者一定要掌握。c 氣泡排序演算法的例項源 一些排序方法的 集錦,該函式模板使用冒泡法對集合元素進行排序,引數說明 collection 集合物件,集合物件必須提供 操作。element 集合元素,該引數...
氣泡排序 氣泡排序演算法優化
常用的排序演算法主要包括 1 插入排序 直接插入排序 希爾排序 2 交換排序 氣泡排序 快速排序 3 選擇排序 簡單選擇排序 堆排序快速排序 4 歸併排序其中,氣泡排序算是最簡單的一種排序演算法 public class bubble int temp 0 for int i 0 iarr j 1 ...
排序演算法 氣泡排序
一.氣泡排序的過程 公升值排序 1.將第乙個記錄的關鍵字與第二個記錄的關鍵字進行比較,若key 1 key 2 則交換。然後比較第二個與第三個,依此類推,直到第n 1個與第n個比較為止,第一趟排序完後,記錄最大的關鍵字會被排在最後面。2.將記錄的前n 1個關鍵字進行第二趟比較交換,直到前n 1個中最...