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

小四的海市蜃樓
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>
            亚洲欧美电影在线观看| 亚洲高清色综合| 亚洲精品国产精品乱码不99| 亚洲国产成人av| 欧美激情第五页| 欧美一二三视频| 男男成人高潮片免费网站| 在线视频精品一区| 久久免费国产精品1| 亚洲深夜av| 先锋资源久久| 一区二区三区 在线观看视频| 欧美在线视频一区二区| 亚洲亚洲精品三区日韩精品在线视频| 久久精品国产一区二区三| 亚洲桃花岛网站| 欧美高清在线一区二区| 久久久久国产精品www| 欧美日韩国产高清视频| 蜜臀av在线播放一区二区三区| 欧美日韩综合另类| 欧美丰满少妇xxxbbb| 国产色视频一区| 亚洲免费电影在线观看| 亚洲福利专区| 欧美在线综合视频| 欧美一区二区三区久久精品| 欧美日本成人| 亚洲国产免费| 91久久精品国产91久久| 久久久精品国产99久久精品芒果| 午夜在线精品| 国产精品theporn88| 亚洲精品三级| 日韩一级免费观看| 欧美激情aaaa| 亚洲欧洲日韩女同| 亚洲精品视频一区二区三区| 久久亚洲免费| 欧美1区2区3区| 在线播放日韩欧美| 久久精品人人爽| 久久久久免费| 黄色成人在线免费| 欧美一区二区性| 香蕉久久精品日日躁夜夜躁| 欧美日韩视频一区二区三区| 91久久久国产精品| 亚洲国产mv| 玖玖视频精品| 亚洲福利国产| 一本色道久久综合亚洲精品不卡 | 亚洲在线免费观看| 久久电影一区| 永久域名在线精品| 午夜精品久久久久99热蜜桃导演| 亚洲精品久久久久久久久| 久久免费观看视频| 久久影音先锋| 狠狠色噜噜狠狠狠狠色吗综合| 午夜在线成人av| 久久xxxx| 国产一区二区三区成人欧美日韩在线观看 | 亚洲欧美在线aaa| 香蕉成人久久| 国产视频一区二区在线观看| 午夜一级久久| 美女精品在线观看| 亚洲三级视频在线观看| 欧美精品在线播放| 亚洲视频每日更新| 久久精品国产亚洲高清剧情介绍| 狠狠色香婷婷久久亚洲精品 | 午夜精彩国产免费不卡不顿大片| 国产精品女人毛片| 久久精品一本| 91久久线看在观草草青青| 99视频有精品| 国产精品美女久久久| 久久精品99| 亚洲国产精品日韩| 午夜精品福利视频| **网站欧美大片在线观看| 欧美日本国产一区| 欧美一区二区三区久久精品茉莉花| 欧美jjzz| 亚洲欧美一区二区激情| 1769国内精品视频在线播放| 欧美日韩成人激情| 欧美一区二区在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲免费高清| 国产精品嫩草99a| 乱人伦精品视频在线观看| 999在线观看精品免费不卡网站| 欧美亚洲一区二区在线| 亚洲国产99精品国自产| 国产精品天美传媒入口| 欧美成人影音| 亚洲免费网址| 亚洲全部视频| 欧美在线观看网站| 日韩一级精品视频在线观看| 国产精品一区二区你懂得 | 欧美高清视频在线观看| 久久久www| 99精品国产福利在线观看免费| 久久久免费精品| 中文在线不卡| 亚洲激情一区| 狠狠狠色丁香婷婷综合久久五月| 免费中文字幕日韩欧美| 亚洲欧美日韩一区二区在线 | 在线亚洲精品| 亚洲国产精品久久| 久久亚洲欧美| 欧美一区二区啪啪| 亚洲午夜三级在线| 亚洲欧洲精品一区| 激情亚洲网站| 国产丝袜美腿一区二区三区| 欧美人在线观看| 久久综合五月| 久久精品成人| 午夜久久久久久| 国产精品99久久久久久有的能看 | 在线精品国产欧美| 黄色日韩精品| 国产欧美精品日韩区二区麻豆天美| 女人香蕉久久**毛片精品| 久久久人人人| 久久精品二区| 久久激情五月激情| 性欧美video另类hd性玩具| 亚洲欧美美女| 亚洲欧美激情视频| 亚洲综合精品自拍| 亚洲天堂视频在线观看| 99精品国产福利在线观看免费| 亚洲精品久久久久久久久久久| 亚洲国内精品| 日韩视频一区二区在线观看 | 国产精品av免费在线观看| 欧美激情一区二区| 欧美精品福利在线| 欧美日韩黄视频| 欧美视频在线一区| 国产精品久久99| 国产精品稀缺呦系列在线| 国产精品视频免费一区| 国产精一区二区三区| 国产日韩欧美综合| 一区二区三区在线视频播放| 亚洲二区视频| aa级大片欧美三级| 亚洲欧美精品suv| 欧美一区深夜视频| 免费久久久一本精品久久区| 欧美好骚综合网| 亚洲美女淫视频| 亚洲自拍三区| 久久久久久精| 欧美日韩成人网| 国产毛片精品国产一区二区三区| 国产欧美精品在线| 在线不卡视频| 一本色道久久| 欧美一区二区三区免费视频| 久久综合色一综合色88| 亚洲国产黄色| 亚洲一区中文| 久热成人在线视频| 国产精品av久久久久久麻豆网| 国产一区二区三区黄| 91久久一区二区| 亚洲综合色噜噜狠狠| 久久中文欧美| 亚洲美女区一区| 亚洲高清不卡一区| 欧美激情一区二区三区不卡| 亚洲精品欧美精品| 亚洲欧美美女| 欧美大秀在线观看| 国产欧美一区二区三区久久人妖| 在线电影国产精品| 亚洲一级二级| 蜜臀av在线播放一区二区三区| 日韩亚洲综合在线| 久久久久久一区| 欧美精品一区二区蜜臀亚洲| 国产亚洲制服色| 中日韩美女免费视频网站在线观看| 久久精品国产v日韩v亚洲| 亚洲日本va午夜在线影院| 午夜久久一区| 欧美日韩日本国产亚洲在线| 影音先锋亚洲视频| 亚洲一区在线直播| 亚洲高清久久久| 亚洲自拍电影|