氣泡排序和直接選擇排序

2021-05-28 11:03:30 字數 753 閱讀 5991

#includeint array[100];

void sortarray(int array, int n)//小到大排,直接選擇排序

} }}

void sortarray1(int array, int n)//小到大排,氣泡排序

} }}

int main()

return 0;

}

sortarray這種是上面flash演示的(但**不是,**是相鄰比較的氣泡排序)

這是直接選擇排序法

在直接選擇排序中,共需要進行n-1次選擇和交換,每次選擇需要進行 n-i 次比較 (1<=i<=n-1),而每次交換最多需要3次移動,因此,總的比較次數c=1/2(n*n - n),

總的移動次數 3(n-1).由此可知,直接選擇排序的時間複雜度為 o(n*n),所以當記錄占用位元組數較多時,通常比直接插入排序的執行速度快些。

由於在直接選擇排序中存在著不相鄰元素之間的互換,因此,直接選擇排序是一種不穩定的排序方法。

sortarray1 這種是氣泡排序

若記錄序列的初始狀態為"正序",則氣泡排序過程只需進行一趟排序,在排序過程中只需進行n-1次交換,且不移動記錄;反之,若記錄序列的初始狀態為"逆序",則需進行n(n-1)/2次比較和記錄移動。因此氣泡排序總的時間複雜度為o(n*n)。

直接選擇排序法和氣泡排序都很相似,時間複雜度也是o(n*n)。

選擇排序 直接選擇排序和堆排序

選擇排序 基本思想是依次從待排序中選擇出關鍵字值最小的記錄 關鍵字值次之的記錄 並分別將它們定位到序列左側的第乙個位置 第二個位置 從而使待排序的記錄序列成為按關鍵字值由小到大排列的有序序列。直接選擇排序 從第i個無序列表arr i.n 中,選擇關鍵字值最小的記錄將其插入有序列表的末尾arr n i...

排序 氣泡排序和選擇排序

目錄 氣泡排序 氣泡排序原理圖 demo 執行 選擇排序 氣泡排序原理圖 demo 執行 說明 include include using namespace std name 氣泡排序法 number 傳入陣列 length 陣列長度 setw 需要匯入 include ps 這是乙個lib.h的...

選擇排序和氣泡排序

選擇排序和氣泡排序 演算法 蠻力法選擇排序,第一次掃瞄整個陣列,找到最小元素,然後和第乙個元素交換。第二次從第二個元素開始掃瞄陣列,找到剩下的元素中最小的與第二個元素交換位置,直到最後。89 45 68 90 29 3417 17 45 68 902934 89 17 29 68 90 453489...