排序演算法小記

2021-07-31 13:53:18 字數 821 閱讀 5593

#include //氣泡排序,適合於資料量較小的情況,效率較低(最好的時間複雜度為o(n),最壞時間複雜度為o(n*n),平均時間複雜度為o(n*n))

void bubble_sort(int a, int len)

} }}//交換排序

void swapsort(int a,int length)

} }}//快速排序

void quicksort(int a, int low, int high)

int first = low;

int last = high;

int key = a[first];/*用字表的第乙個記錄作為樞軸*/

while(first < last)

a[first] = a[last];/*將比第乙個小的移到低端*/

while(first < last && a[first] <= key)

a[last] = a[first];

/*將比第乙個大的移到高階*/

} a[first] = key;/*樞軸記錄到位*/

quicksort(a, low, first-1);

quicksort(a, first+1, high);

}int main()

; int len = sizeof(number)/sizeof(int);

bubble_sort(number, len);

for (int i = 0; i < len; i++)

printf("\n");

return 0;

}

快速排序小記

快速排序是一種基於分治思想的演算法。它的基本思想如下 首先選取乙個軸 基準 pivot 接著根據選取的軸進行分割槽操作 partition 分割槽操作的結果是使待排序序列中小於軸值的元素全部位於軸的左邊,大於軸值的元素全部位於軸的右邊 這樣就將整個序列分成了兩個子串行,而軸值已經位於正確的位置.然後...

演算法小記(一)

1 生成指定個數的隨機數組 c 實現 include include include using namespace std namespace randomarray return arr 2 c 實現選擇排序 模板化 預設從小到大排序 template void selectionsort t ...

RSA演算法小記

小記 一 數學基礎 尤拉phi函式 n 總數 從1到n 1中與n互質的整數 尤拉定理 對互質的正整數 a,n,有a n 1能被 整除 當 是質數 時,有特殊情況,即小費馬定理 能被 整除 關於尤拉函式的推論 二 rsa演算法的加密和解密 1 任選互質的 p q,求積 n pq 2 求得 k n p ...