青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

小四的海市蜃樓
Never surrender to complexity
posts - 21,comments - 59,trackbacks - 0

在程序設計實踐上看到這個簡單的快速排序,用模板重新寫了一遍,加深一下印象。平均算法復雜度為O(nlogn)。

其中尋找支點元素pivot有多種方法,不同的方法會導致快速排序的不同性能。根據分治法平衡子問題的思想,希望支點元素可以使p[m..n]盡量平均地分為兩部分,但實際上很難做到。下面給出幾種尋找pivot的方法。

1.選擇p[m..n]的第一個元素p[m]的值作為pivot;
2.選擇p[m..n]的最后一個元素p[n]的值作為pivot;
3.選擇p[m..n]中間位置的元素p[k]的值作為pivot;
4.選擇p[m..n]的某一個隨機位置上的值p[random(n-m)+m]的值作為pivot;
  按照第4種方法隨機選擇pivot的快速排序法又稱隨機化版本的快速排序法,在實際應用中該方法的性能也是最好的。本程序使用第4種方法。要求節點類型支持比較運算符。


template<typename T>
void quicksort(T* v, int n)
{
    
if (n<=1)
        
return;
    
int last = 0;
    
int pivot = rand()%n;
    swap(v, 
0, pivot);
    
for (int i = 1; i < n; i++)
    
{
        
if (v[i]<v[0])
            swap(v, 
++last, i);
    }

    swap(v, last, 
0);
    quicksort(v, last);
    quicksort(v
+last+1, n-last-1);
}


template
<typename T>
void swap(T* v, int i, int j)
{
    T tmp 
= v[i];
    v[i] 
= v[j];
    v[j] 
= tmp;    
}


隨手寫一個不太好看的測試程序

struct str
{
    str(
const char* a)
    
{
        assert(a);
        v 
= new char[strlen(a)+1];
        strcpy(v, a);
    }

    str(
const str& a)
    
{
        assert(a.v);
        v 
= new char[strlen(a.v)+1];
        strcpy(v, a.v);
    }

    
~str()
    
{
        delete [] v;
    }

    
void operator = (const str& a)
    
{
        
if (this == &a)
            
return;
        assert(a.v);
        delete [] v;
        v 
= new char[strlen(a.v)+1];
        strcpy(v, a.v);
    }

    
bool operator == (const str& a) const
    
{
        
return (strcmp(v, a.v)==0);
    }

    
bool operator > (const str& a) const 
    
{
        
return (strcmp(v, a.v)>0);
    }

    
bool operator < (const str& a) const
    
{
        
return (strcmp(v, a.v)<0);
    }

    
char* v;
}
;


int main(int argc, char* argv[])
{
    
int* array = new int [10];
    
for(int i = 0; i < 10; i++)
        array[i] 
= rand();
    quicksort(array, 
10);
    
for(i = 0; i < 10; i++)
    
{
        cout
<<array[i]<<endl;
    }


    str s[] 
= {"bd""e""ba""a"};
    quicksort(s, 
4);
    
for(i = 0; i < 4; i++)
    
{
        cout
<<s[i].v<<endl;
    }

    
return 0;
}


posted on 2007-12-29 14:31 小四 閱讀(424) 評論(0)  編輯 收藏 引用 所屬分類: 算法與數據結構
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲成人在线视频播放| 欧美国产日韩二区| 亚洲一区二区三区在线看| 欧美日韩成人一区二区三区| 日韩视频精品在线观看| 亚洲动漫精品| 欧美日韩国产综合久久| 亚洲新中文字幕| 午夜精品亚洲| 亚洲国产天堂久久国产91| 最新亚洲一区| 国产精品一二三四区| 久久精品男女| 欧美ed2k| 欧美一级久久| 久久视频在线视频| 一区二区三区国产在线| 亚洲一区在线免费| 影音先锋中文字幕一区| 亚洲精品一级| 国产午夜精品麻豆| 亚洲国产精品悠悠久久琪琪 | 新67194成人永久网站| 欧美影院午夜播放| 最新国产精品拍自在线播放| 日韩亚洲成人av在线| 国产欧美精品va在线观看| 免费亚洲一区| 国产精品嫩草99a| 欧美大片第1页| 国产精品影片在线观看| 亚洲国产精品成人综合色在线婷婷 | 午夜欧美不卡精品aaaaa| 韩国女主播一区| 日韩小视频在线观看| 国内外成人在线视频| 亚洲伦理在线观看| 亚洲国产欧美一区二区三区丁香婷| 欧美搞黄网站| 国产情侣一区| 99av国产精品欲麻豆| 尤物99国产成人精品视频| 亚洲无亚洲人成网站77777| 亚洲人妖在线| 久久精品国产精品| 午夜欧美不卡精品aaaaa| 你懂的亚洲视频| 久久免费高清视频| 国产精品一区视频网站| 亚洲理伦在线| 日韩亚洲欧美一区| 美玉足脚交一区二区三区图片| 欧美一区二区精美| 国产精品久久国产精品99gif| 亚洲国产精品一区二区三区 | 免费看成人av| 久久精品av麻豆的观看方式| 欧美日韩在线高清| 日韩系列欧美系列| 一本色道久久综合亚洲二区三区| 久久夜色精品| 欧美大片免费观看| 亚洲黄色免费电影| 蜜臀va亚洲va欧美va天堂| 美国成人毛片| 红桃视频欧美| 久久精品一级爱片| 蜜臀91精品一区二区三区| 在线欧美三区| 免费成年人欧美视频| 欧美成人性生活| 亚洲日本va午夜在线电影| 欧美肥婆在线| 99国产精品久久久久久久久久| 这里只有精品丝袜| 欧美天堂亚洲电影院在线观看| 一本一本久久a久久精品牛牛影视| 一区二区不卡在线视频 午夜欧美不卡在 | 国产有码一区二区| 欧美一区91| 女同性一区二区三区人了人一| 国产一区二区三区四区hd| 久久久久免费| 亚洲精品国产精品乱码不99 | 99re8这里有精品热视频免费 | 亚洲欧美中文另类| 老牛影视一区二区三区| 伊人伊人伊人久久| 欧美精品日韩三级| 亚洲一区二区三区高清不卡| 欧美综合二区| 亚洲日本电影在线| 国产精品v欧美精品v日本精品动漫| 亚洲深夜福利| 欧美不卡一卡二卡免费版| 亚洲狼人综合| 国产亚洲高清视频| 欧美v亚洲v综合ⅴ国产v| 宅男精品视频| 蜜桃久久精品乱码一区二区| 一区二区三区鲁丝不卡| 黑人巨大精品欧美黑白配亚洲| 免费h精品视频在线播放| 正在播放欧美一区| 欧美xxx成人| 亚洲视频网在线直播| 韩日精品在线| 欧美午夜三级| 久久―日本道色综合久久| 中文日韩欧美| 亚洲黄色性网站| 久久成人精品无人区| 99视频精品全国免费| 国产一区二区三区网站| 欧美日韩中文另类| 男人天堂欧美日韩| 久久国产精彩视频| 一区二区三区免费看| 欧美激情一区| 蜜桃视频一区| 久久人人爽人人爽爽久久| 亚洲一区网站| 亚洲三级视频| 亚洲国产精品一区| 激情文学一区| 国产一区二区三区的电影| 国产精品国产三级国产普通话99| 免费成人黄色| 久久夜色精品一区| 久久国产主播精品| 亚洲欧美另类久久久精品2019| 亚洲精品日日夜夜| 亚洲电影免费观看高清完整版| 久久久噜噜噜久久久| 午夜一级久久| 欧美一区二区三区四区在线观看| 99精品黄色片免费大全| 亚洲国产日韩欧美一区二区三区| 国内自拍亚洲| 激情综合色综合久久综合| 国产午夜久久久久| 国产目拍亚洲精品99久久精品| 欧美视频在线观看免费| 欧美日韩国产精品成人| 欧美激情自拍| 欧美日韩一级黄| 欧美日韩视频不卡| 欧美日韩一区二区视频在线| 欧美日韩国产va另类| 欧美日韩国产专区| 国产精品成人一区二区| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 国产精品天美传媒入口| 国产精品每日更新在线播放网址| 欧美日韩91| 国产精品成人一区二区三区吃奶| 欧美视频免费看| 国产精品综合视频| 国产亚洲美州欧州综合国| 国产一区二区三区高清| 在线免费高清一区二区三区| 在线欧美影院| 亚洲精品影视| 亚洲综合色噜噜狠狠| 欧美一区国产二区| 美国十次了思思久久精品导航| 欧美成在线观看| 日韩手机在线导航| 亚洲欧美日韩区| 美女精品国产| 国产精品第三页| 一区二区在线观看av| 日韩小视频在线观看专区| 亚洲男人的天堂在线| 久久久国产精彩视频美女艺术照福利| 美女精品网站| 亚洲图中文字幕| 久久综合久久美利坚合众国| 欧美精品一卡| 国产日韩在线不卡| 亚洲精品影视在线观看| 欧美一区久久| 亚洲国内高清视频| 亚洲欧美日韩精品久久奇米色影视| 久久久中精品2020中文| 欧美午夜视频网站| 在线免费观看日韩欧美| 亚洲图片欧洲图片日韩av| 久久综合色8888| 99国产精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品成人午夜| 亚洲欧洲日产国产网站| 久久成人精品| 一本色道久久综合狠狠躁篇的优点| 欧美专区中文字幕| 欧美日韩在线视频一区二区| 亚洲国产精品成人综合色在线婷婷| 亚洲午夜久久久| 亚洲黑丝在线|