實現原理如下:
1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3.針對所有的元素重複以上的步驟,除了最後乙個。
4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
假設當前存在乙個陣列
int
array[5]=;
需要將該陣列按從小到大的順序排列,使用氣泡排序的方法,過程如下:
原始的陣列元素的順序為:
index01
234array
i=0j=0
1388
1715
18=array
j=113
1788
1518
=array
j=213
1715
8818
=array
j=313
1715
1888
=array
經過第一輪的遍歷之後,陣列的順序變為:
每次遍歷,將陣列中的最大的數字移至陣列的尾部。具體遍歷演算法如下所示:
//氣泡排序演算法的實現部分,arraysize代表當前陣列的長度,array代表需要遍歷的陣列
int *bubblesort(int *array, int arraysize)}}
return
array;
}
#include
#include
#include
using
namespace
std;
//定義初始化的陣列的長度
#define array_count 20
//宣告氣泡排序的原型定義
int *bubblesort(int*, int);
int main()
for (auto i = 0; i < array_count; i++)
cout
<< "排序後的陣列為:"
<< endl;
//計算出當前陣列的元素個數,即陣列的長度
int size = sizeof(unordererarray) / sizeof(unordererarray[0]);
cout
<< "陣列的長度為:"
<< size << endl;
int *sortlaterarray = bubblesort(unordererarray, size);
cout
<< "排序後的陣列為:"
<< endl;
for (auto i = 0; i < size; i++)
return0;}
//氣泡排序演算法的實現部分
氣泡排序演算法 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個中最...