最壞情況下,直接插入排序時間複雜度為θ(n²),最小時間代價為θ(n),平均時間代價為θ(n²)
附加儲存空間:乙個儲存單位
穩定性:穩定
原址性:是
緊緻性:乙個比較,三個賦值操作
特點:對於基本有序,或偶爾有幾個在有序位置附近時,效率高,只有直接插入排序和它達到一樣的效果;整體效果不如直接插入排序,因為,直接插入排序是將插入位置後的項,直接後移,再插入;而氣泡排序每一步都要進行交換。
演算法能夠很容易的改進 雞尾酒排序,組合排序等
#include #include using namespace std;
void bubblesort(int *arr,int length);
int main()
; int length=sizeof(arr)/sizeof(int);
cout<<"the orginal array is:"}
if (!exchange) //該趟不存在交換,退出,排序完成
return;
}}
交換排序 氣泡排序
交換排序 兩兩比較待排序記錄的關鍵碼,若是逆序,則交換,直到無逆序。其中最簡單的交換排序是 氣泡排序。氣泡排序 bubble sort,也叫起泡排序 不斷地比較相鄰的記錄,若是不滿足排序要求,則交換。交換時,可從前向後,也可從後向前。看乙個從前向後的排序過程 原序列 12 3 45 33 6 下標 ...
交換排序 氣泡排序
1.原理 從小到大排序 存在10個不同大小的氣泡,由底至上地把較少的氣泡逐步地向上公升,這樣經過遍歷一次後,最小的氣泡就會被上公升到頂 下標為0 然後再從底至上地這樣公升,迴圈直至十個氣泡大小有序。在 氣泡排序中,最重要的思想是兩兩比較,將兩者較少的公升上去 氣泡排序最壞情況的時間複雜度是o n 2...
交換排序 氣泡排序
交換排序,通過相鄰資料的交換來達到排序的目的 對陣列中的各資料,一次比較相鄰的兩個元素的大小。如果前面的資料大於後面的資料,就交換這兩個資料,經過第一輪的多次比較排序後,便可把最小的資料排好 再用同樣的方法把剩下的資料逐個進行比較,最後便可按照從小到大的順序排好陣列各資料的順序。初始資料 118 1...