日韩性视频-久久久蜜桃-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ò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久久久久久久久精 | 亚洲自拍偷拍网站 | 草草影院地址 | 撸大师av| 亚洲福利网 | 毛片基地免费观看 | 成人国产精品免费观看 | 伊人网在线免费观看 | 欧美性生活网 | 99久久久国产精品无码网爆 | 亚洲成人一二三区 | av高潮 | 亚洲成人天堂 | www天堂在线 | 色屁屁一区二区三区视频 | 成年人看的网站 | 欧美色狠 | 性久久久久 | 色男人天堂av| 性猛交╳xxx乱大交 偷偷操不一样的久久 | 日本xxxxwwwww | 第九色 | 成人www| 国产jzjzjz丝袜老师水多 | 国产麻豆乱码精品一区二区三区 | 国产一级免费av | av五十路 | 欧美成人三级在线视频 | 99久久综合国产精品二区 | 精品人妻少妇一区二区三区 | 中文字幕一区二区三区手机版 | 四虎网站在线观看 | 青青操网站 | 秋霞电影网一区二区 | 中文一区在线观看 | 国产一区二区三区四区视频 | 日韩电影在线观看中文字幕 | 黄片毛片在线观看 | 艳妇乳肉豪妇荡乳av无码福利 | 欧美老熟 | 久久午夜场| 婷婷影视 | 天天人人精品 | 精品一区二区三区蜜臀 | 亚洲特黄毛片 | 狠狠躁日日躁夜夜躁av | 波多野结衣一区二区三区中文字幕 | 福利社区一区二区 | 久久午夜无码鲁丝片午夜精品 | 色欲av无码一区二区三区 | 在线污视频| 啪啪小视频网站 | 催眠美妇肉奴系统 | 四虎免费在线观看 | 欧美精品18 | 亚洲精品无码久久久 | 日本中文字幕在线免费观看 | 久久久久亚洲视频 | 欧美日韩亚洲第一 | 国产精品久久久久久妇女 | 国产精品国产三级国产传播 | 久久久高清免费视频 | 日日网站 | www.国产在线观看 | 在线高清免费观看 | 草免费视频 | 午夜久草 | 无码免费一区二区三区 | 国产欧美一区二区三区国产幕精品 | 91精品国产乱码在线观看 | 久久泄欲网 | 99九九视频 | 人人妻人人澡人人爽欧美一区双 | 日韩欧美精品一区二区三区 | 日本a级在线 | 女人床技48动态图 | 国产精品人妻一区二区三区 | 欧美三区四区 | 黄色三级小视频 | 欧美视频你懂的 | 日爽夜爽 | 95精品视频 | 嫩草亚洲 | 婷婷深爱五月 | 噼里啪啦动漫 | www成人在线| 性猛交xxxx乱大交孕妇印度 | 91精品久久久久久综合五月天 | xxxx精品| 大奶在线播放 | 夜夜夜久久久 | 国产亚洲毛片 | 女教师三上悠亚ssni-152 | 激情伦成人综合小说 | 免费中文字幕在线观看 | 国产av剧情一区二区三区 | 波多野结衣电车 | 成人久久久精品乱码一区二区三区 | 精品无码久久久久国产 |