直播系統原始碼,實現快速排序和歸併排序
直播系統原始碼,實現快速排序和歸併排序
快排板子:
#include <iostream> using namespace std; const int N = 1000010; int q[N]; void quick_sort(int q[], int l, int r) { //遞迴的終止情況 if (l >= r) return; // 分成子問題 int i = l - 1, j = r + 1, x = q[l + r >> 1]; while (i < j) { do i ++ ; while (q[i] < x); do j -- ; while (q[j] > x); if (i < j) swap(q[i], q[j]); } // 遞迴處理子問題 quick_sort(q, l, j); quick_sort(q, j + 1, r); } int main() { int n; scanf("%d", &n); for (int i = 0; i < n; i ++ ) scanf("%d", &q[i]); quick_sort(q, 0, n - 1); for (int i = 0; i < n; i ++ ) printf("%d ", q[i]); return 0; }
歸併板子:
#include <iostream> using namespace std; const int N = 1e6 + 10; int a[N], tmp[N]; void merge_sort(int q[], int l, int r) { // 遞迴邊界 if (l >= r) return; // 分治操作 分界點 int mid = l + r >> 1; // 遞迴左右區間 merge_sort(q, l, mid), merge_sort(q, mid + 1, r); int k = 0, i = l, j = mid + 1; while (i <= mid && j <= r) if (q[i] <= q[j]) tmp[k ++ ] = q[i ++ ]; else tmp[k ++ ] = q[j ++ ]; while (i <= mid) tmp[k ++ ] = q[i ++ ]; while (j <= r) tmp[k ++ ] = q[j ++ ]; for (i = l, j = 0; i <= r; i ++, j ++ ) q[i] = tmp[j]; } int main() { int n; scanf("%d", &n); for (int i = 0; i < n; i ++ ) scanf("%d", &a[i]); merge_sort(a, 0, n - 1); for (int i = 0; i < n; i ++ ) printf("%d ", a[i]); return 0; }
以上就是 直播系統原始碼,實現快速排序和歸併排序,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2926185/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php實現 歸併排序,快速排序PHP排序
- 快速排序&&歸併排序排序
- 四、歸併排序 && 快速排序排序
- 歸併排序與快速排序的一個實現與理解排序
- C++快速排序與歸併排序的實現(LeetCode 912)C++排序LeetCode
- 七、排序,選擇、冒泡、希爾、歸併、快速排序實現排序
- php插入排序,快速排序,歸併排序,堆排序PHP排序
- go 實現歸併排序Go排序
- 利用java實現插入排序、歸併排序、快排和堆排序Java排序
- ForkJoin和氣泡排序組合實現的歸併排序排序
- 氣泡排序、歸併排序與快速排序比較排序
- 歸併排序和基數排序排序
- 使用 Swift 實現歸併排序Swift排序
- 直播系統app原始碼,用遞迴實現氣泡排序APP原始碼遞迴排序
- 歸併排序MergeSort的C實現排序
- 歸併排序排序
- 利用遞迴實現連結串列的排序(歸併排序)遞迴排序
- Sort排序專題(7)歸併排序(MergeSort)(C++實現)排序C++
- 排序演算法之歸併,快速,堆和桶排序演算法
- Go實現氣泡排序和快速排序Go排序
- 歸併排序的非遞迴實現排序遞迴
- Python八大演算法的實現,插入排序、希爾排序、氣泡排序、快速排序、直接選擇排序、堆排序、歸併排序、基數排序。Python演算法排序
- 演算法之常見排序演算法-氣泡排序、歸併排序、快速排序演算法排序
- 排序演算法__歸併排序排序演算法
- 排序演算法:歸併排序排序演算法
- 排序演算法 - 歸併排序排序演算法
- 排序演算法(歸併排序)排序演算法
- 歸併排序--排序演算法排序演算法
- 歸併排序--二路排序排序
- java歸併排序Java排序
- 排序演算法之 '歸併排序'排序演算法
- 全面瞭解歸併排序演算法及程式碼實現排序演算法
- 歸併排序:陣列和連結串列的多種實現排序陣列
- 進階指南--超快速排序(歸併+逆序對)排序
- 歸併排序 js demo排序JS
- 【Java資料結構與演算法】第八章 快速排序、歸併排序和基數排序Java資料結構演算法排序
- 【資料結構與演算法】高階排序(希爾排序、歸併排序、快速排序)完整思路,並用程式碼封裝排序函式資料結構演算法排序封裝函式
- java實現快速排序Java排序