日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

排序算法(1) 快速排序 C++实现

發(fā)布時(shí)間:2023/12/1 c/c++ 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 排序算法(1) 快速排序 C++实现 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

快速排序基本特性

  • 時(shí)間復(fù)雜度:O(n*lgn)
  • 最壞:O(n^2)
  • 空間復(fù)雜度:最好情況下:O(lgn),最壞情況:O(n),平均情況:O(lgn)
  • 不穩(wěn)定。
  • 關(guān)于快速排序的空間復(fù)雜度,謝謝@命運(yùn)他爹 同學(xué)指正。詳述一下。

    快速排序由于每次遞歸的時(shí)候會(huì)占用一個(gè)空間返回中間數(shù)位置,所以一次遞歸的空間復(fù)雜度為O(1)。

    最好情況和平均情況下的遞歸深度為O(lgn),相應(yīng)的空間復(fù)雜度就是O(lgn)

    最壞情況下的遞歸深度為O(n),空間復(fù)雜度為O(n)。

    算法

    QUICKSORT(A, p, r) ? ??if?p < r ? ? ? ?then q ← PARTITION(A, p, r)??//關(guān)鍵 ? ? ? ? ? ??QUICKSORT(A, p, q - 1) ? ? ? ? ? ??QUICKSORT(A, q + 1, r) PARTITION(A, p, r) ? ? ??x ← A[r] ? ? ??i ← p - 1 ? ? ??for?j ← p to r - 1 ? ? ? ? ? ?do?if?A[j] ≤ x ? ? ? ? ? ? ? ? ?then i ← i + 1 ? ? ? ? ? ? ? ? ? ? ?exchange A[i] <-> A[j] ? ? ??exchange A[i + 1] <-> A[r] ? ? ??return?i + 1

    示例

    ?

    待排序數(shù)組:7? 3? 5? 9? 8? 5? 1? 10? 4? 6

    源碼類聲明 class BaseSort { public:BaseSort() { }virtual void sort() = 0; };class QuickSort : public BaseSort { public:QuickSort(int Array[], int len) : BaseSort() {this->Array = Array;this->len = len;}void sort(); private:int partition(int Array[], int start, int end);void quicksort(int Array[], int start, int end); private:int* Array;int len; }; ////相關(guān)成員函數(shù)實(shí)現(xiàn)void QuickSort::sort() {quicksort(Array, 0, len-1); }void QuickSort::quicksort(int Array[], int start, int end) {if ( start < end ) {int mid = this->partition(Array, start, end);if ( start < mid - 1 )quicksort(Array, start, mid-1 );if ( mid + 1 < end )quicksort(Array, mid+1, end);} }int QuickSort::partition(int Array[], int start, int end) {int i, j, x, tmp;x = Array[end];i = start -1;for ( j = start; j < end; j++ ) {if ( Array[j] <= x) {i++;tmp = Array[j];Array[j] = Array[i];Array[i] = tmp;}}tmp = Array[end];Array[end] = Array[i+1];Array[i+1] = tmp;//if (DEBUG) {// printArray(Array, len, "MidResult:");//}return i+1; } 測(cè)試:int main(int argc, char* argv[]) {//printf("Hello World!\n");int a[10] = {7,3,2,9,8,5,1,10,4,6};int len = 10;QuickSort* quicksort= new QuickSort(a, len);quicksort->sort();printArray(a, len, "QuickSort:");system("pause");//用于暫停return 0; }

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/rinack/p/4294162.html

    總結(jié)

    以上是生活随笔為你收集整理的排序算法(1) 快速排序 C++实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 性感美女一区 | 中文字幕无码不卡免费视频 | 求一个黄色网址 | 人妖一区二区三区 | 久久噜噜色综合一区二区 | 91深夜视频 | 精品美女久久久久 | 亚洲成人网在线观看 | 久久中文视频 | 午夜精品电影 | 欧美日韩在线视频免费 | 成年人av网站 | 在线观看麻豆 | 久久综合五月 | 大桥未久恸哭の女教师 | av大帝在线 | www成人啪啪18软件 | 男人的天堂aa | 天天舔天天射天天干 | 日韩国产片 | 大桥未久视频在线观看 | 91禁外国网站 | 香港三级日本三级 | 好吊色这里只有精品 | 精品国产AV色欲天媒传媒 | 呦呦视频在线观看 | 亚洲激情中文字幕 | 美女考逼| 性高潮影院 | 亚洲国产欧美在线 | 女人扒开屁股让男人捅 | 久久人人爽天天玩人人妻精品 | 亚洲欧美综合另类 | 最新色视频 | 欧美性受xxxx黑人xyx性 | 性欧美bbw| 天天操人人 | 亚洲综合视频一区 | 超碰天天操 | 成人免费看类便视频 | 日韩视频免费观看高清完整版 | 一级片在线 | 亚洲一区二区三区免费视频 | 亚洲精品日产精品乱码不卡 | 亚洲不卡电影 | 国内精品久久久久 | 中文字幕日韩三级 | 国产成人在线视频网站 | 午夜影院91 | 日本免费黄色片 | 成人精品福利 | 黄色在线不卡 | 丁香花五月天 | 久视频在线观看 | 日本一级免费视频 | 99久久久国产精品 | 欧美人与禽zoz0性3d | 干操网| 99久在线精品99re8热 | 亚洲色诱 | 伊人色综合久久天天 | 亚洲一区在线观看视频 | 天天操夜夜撸 | 大香蕉精品一区 | 免费草逼视频 | 欧美 日韩 国产 成人 在线 | 高清不卡一区二区三区 | 先锋影音久久 | 自拍偷拍p| 国产精品白浆一区二小说 | 欧美日韩一级黄色片 | 黄色大片免费观看 | 天天射天天干天天 | 日韩福利一区二区三区 | 男女性网站 | 成人影片在线播放 | 成人视屏在线观看 | 中国国产黄色片 | 日韩国产91 | 久久中文字幕在线 | 日本肉体xxxx裸体137大胆图 | 波多野结衣乳巨码无在线 | 色播综合| 女生被男生c | 日本黄色特级片 | 操操网 | 神马久久久久久 | 欧美高清一区 | av中文字幕免费在线观看 | 91久久精品国产91久久性色tv | 国产免费91 | 精品久久福利 | ass东方小嫩模pics | 免费黄片毛片 | 国产特黄一级片 | 铠甲勇士猎铠 | 亚洲视频手机在线观看 | 久久免费看少妇 | 一级片黑人 |