2023年10月18日15:34:24 by:piaxiaohui
氣泡排序:是一種交換排序,它的基本思想是:兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止。氣泡排序的由來,就有些類似於水中的bubble,比較輕的bubble始終在水的底層,而較輕的bubble在水的上層;較輕的bubble會向水的上層移動,也就類似於bubble weight在比較的過程中,較輕的bubble會向上冒。
**塊語法遵循標準markdown**,例如:
@requires_authorization
#include
using
namespace
std;
//功能函式:實現陣列元素的交換功能
void swap( int a, int i , int j)
//功能函式:實現陣列的列印功能
void printarray( int a,int length)
cout
<< endl;
}//核心函式:實現氣泡排序,這裡利用乙個標誌flag來減少比較次數
//比如:比較有序的序列 2,1,3,4,5,6,7,8,9,10
//在採取了標誌位後:
// i= 0,比較9次
// i= 1,比較8次
// i= 2,比較0次,此時沒有任何資料交換,說明已經有序
void bubblesort( int a,int length)
}printarray(a,length);
}}int main();
int length = 10;
cout
<
<
0;}
執行結果:
(1) 最好的情況,也就是要排序的陣列有序,沒有資料交換
a[10]=;
需要比較的次數為:n-1次 也就是i = 0時,需要比較9次
(2) 最壞的情況,也就是要排序的陣列逆序,每一次比較都要逆序
a[10]=;
i = 0 時,要比較的次數為9次
i = 1 時, 要比較的次數為8次
…… (n-1)+(n-2)+(n-3)+…+3+2+1 = n(n-1)/2;
因此時間複雜度為:o(n2);
資料結構與演算法 python排序演算法 氣泡排序
排序演算法 英語 sorting algorithm 是一種能將一串資料依照特定順序進行排列的一種演算法。排序演算法的穩定性 穩定排序演算法會讓原本有相等鍵值的紀錄維持相對次序。也就是如果乙個排序演算法是穩定的,當有兩個相等鍵值的紀錄r和s,且在原本的列表中r出現在s之前,在排序過的列表中r也將會是...
資料結構與演算法 排序演算法之氣泡排序
氣泡排序 bubble sort 是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序 如從大到小 首字母從z到a 錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。這個演算法的名字由來是因為越小...
資料結構與演算法之氣泡排序
一 氣泡排序的定義及其理解 氣泡排序是一種交換排序,它的基本思路是 兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止。氣泡排序其實很容易理解,顧名思義,我們會想到氣泡。就像水底下的魚兒嘴巴裡吐出的氣泡,越鄰近水平面上的氣泡是越大的。那如何用氣泡排序的方法對大小不一的氣泡進行排序呢?氣...