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

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

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

其中尋找支點(diǎn)元素pivot有多種方法,不同的方法會導(dǎo)致快速排序的不同性能。根據(jù)分治法平衡子問題的思想,希望支點(diǎn)元素可以使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]的某一個隨機(jī)位置上的值p[random(n-m)+m]的值作為pivot;
  按照第4種方法隨機(jī)選擇pivot的快速排序法又稱隨機(jī)化版本的快速排序法,在實際應(yīng)用中該方法的性能也是最好的。本程序使用第4種方法。要求節(jié)點(diǎn)類型支持比較運(yùn)算符。


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 小四 閱讀(422) 評論(0)  編輯 收藏 引用 所屬分類: 算法與數(shù)據(jù)結(jié)構(gòu)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲午夜精品一区二区| 亚洲国产精品一区二区www| 亚洲综合二区| 亚洲一区二区三区久久| 一区二区冒白浆视频| 99香蕉国产精品偷在线观看| 一区二区日韩欧美| 先锋资源久久| 老司机精品福利视频| 免费成人性网站| 欧美激情第二页| 欧美色综合网| 国内精品美女av在线播放| 在线观看91精品国产入口| 亚洲国产精品一区二区第四页av | 国产精品九九| 国产一区二区三区久久| 亚洲第一主播视频| 亚洲在线成人| 欧美ed2k| 亚洲一区在线免费| 欧美成年人网站| 国产欧美一区二区精品仙草咪| 亚洲第一主播视频| 亚洲欧美国产精品桃花| 免费成人在线视频网站| 在线综合亚洲| 欧美二区在线播放| 国内精品一区二区三区| 一本色道久久88综合亚洲精品ⅰ | 亚洲国产日韩在线一区模特| 午夜精品福利在线| 亚洲二区在线| 午夜精品福利一区二区三区av| 久久久久久黄| 国产精品久久久一区二区| 在线观看三级视频欧美| 午夜亚洲性色视频| 亚洲国产精品久久人人爱蜜臀 | 亚洲激情电影中文字幕| 欧美一区二区三区久久精品| 欧美日韩国产一区| 小处雏高清一区二区三区| 久久亚洲精品一区二区| 国产精品久久波多野结衣| 亚洲国产欧美另类丝袜| 久久久久久久97| 亚洲图片在线观看| 欧美日韩国产精品专区| 亚洲精品国产日韩| 欧美成人免费网站| 久久久综合网站| 黄网动漫久久久| 欧美自拍偷拍午夜视频| 中文欧美日韩| 欧美日韩国产精品一区| 999亚洲国产精| 欧美国产激情二区三区| 久久亚洲二区| 亚洲二区在线观看| 欧美 日韩 国产精品免费观看| 欧美亚洲在线| 在线欧美福利| 欧美大片在线观看一区| 免费看黄裸体一级大秀欧美| 亚洲国产精品va| 亚洲国产精品成人精品| 欧美久久99| 亚洲午夜一区| 亚洲图片你懂的| 国产九九视频一区二区三区| 欧美一区深夜视频| 欧美中文字幕久久| 亚洲国产精品一区二区第四页av| 欧美大色视频| 欧美日韩理论| 午夜激情综合网| 性欧美videos另类喷潮| 精品电影在线观看| 亚洲国产高清高潮精品美女| 欧美理论在线| 午夜精品电影| 久久艳片www.17c.com| 亚洲精品乱码久久久久久| 亚洲精品久久嫩草网站秘色| 欧美三级在线视频| 久久人人97超碰精品888| 久久欧美肥婆一二区| 99在线|亚洲一区二区| 亚洲女人天堂成人av在线| 一色屋精品亚洲香蕉网站| 欧美国产在线视频| 国产精品白丝黑袜喷水久久久 | 这里只有精品在线播放| 国产午夜精品理论片a级探花| 免费亚洲电影| 国产精品成人在线观看| 麻豆精品传媒视频| 欧美性事在线| 欧美成人精品在线播放| 欧美午夜片在线观看| 美玉足脚交一区二区三区图片| 欧美色网一区二区| 欧美第十八页| 麻豆精品在线观看| 亚洲国产高清aⅴ视频| 国产精品久久波多野结衣| 美女精品在线观看| 欧美日韩一区二区视频在线| 久久久久在线观看| 国产精品av一区二区| 免费观看欧美在线视频的网站| 麻豆精品精华液| 亚洲欧美在线高清| 久久午夜精品| 欧美影院视频| 欧美日韩国产综合久久| 久久久久九九视频| 欧美巨乳波霸| 欧美成人激情视频| 国产亚洲成年网址在线观看| 亚洲精品麻豆| 亚洲经典在线看| 亚洲欧美激情视频在线观看一区二区三区| 狠久久av成人天堂| 99re热这里只有精品视频| **欧美日韩vr在线| 久久久www成人免费精品| 欧美呦呦网站| 国产精品欧美激情| 亚洲欧洲一区二区在线播放| 亚洲成色777777在线观看影院 | 老鸭窝毛片一区二区三区| 99re热精品| 久久一区二区视频| 免费91麻豆精品国产自产在线观看 | 亚洲品质自拍| 在线观看成人网| 校园激情久久| 久久一区二区三区av| 国产日韩欧美精品| 亚洲男女自偷自拍图片另类| 亚洲先锋成人| 国产精品久久久久aaaa| 日韩一级免费| 亚洲视频福利| 欧美日韩国产麻豆| 99re8这里有精品热视频免费| 亚洲婷婷在线| 欧美偷拍另类| 在线亚洲国产精品网站| 亚洲一区二区三区777| 国产精品成人国产乱一区| 99国产精品久久久久老师| 亚洲综合色噜噜狠狠| 国产精品免费看片| 久久成人18免费观看| 美国十次成人| 日韩视频一区二区三区| 国产精品乱码一区二区三区| 午夜一区在线| 欧美高清视频在线| 一本久久a久久免费精品不卡| 欧美特黄a级高清免费大片a级| 国产精品亚洲аv天堂网| 欧美综合第一页| 欧美激情视频免费观看| 99热精品在线| 国产精品一二三四区| 久久午夜国产精品| 欧美精品18videos性欧美| 亚洲精品综合| 亚洲欧美日韩国产精品 | 欧美成人一区二免费视频软件| 亚洲激情二区| 欧美一区三区三区高中清蜜桃 | 亚洲成人在线视频网站| 欧美日韩免费精品| 欧美中文字幕在线观看| 亚洲大胆美女视频| 亚洲午夜激情| 黄网动漫久久久| 国产精品久久久999| 久久亚洲欧洲| 日韩一区二区免费看| 久久精品国产77777蜜臀| 亚洲高清在线观看一区| 国产欧美一区二区三区沐欲| 美女视频黄 久久| 亚洲你懂的在线视频| 最新日韩欧美| 久久精品欧美日韩精品| 在线中文字幕一区| 在线观看不卡av| 国产欧美一区二区三区久久 | 久久久国产视频91| 亚洲欧美日韩综合国产aⅴ| 亚洲美女精品成人在线视频| 美女爽到呻吟久久久久| 香蕉av福利精品导航|