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

隨感而發

雜七雜八

統計

留言簿(13)

閱讀排行榜

評論排行榜

快速排序學習4(最初版加隨機版)

這是最初版本的和隨機版本的結合,我也修改了一下最初版本的小點東西,思路還是最初版的思路,只是我把分割符中的數據排好了而已。呵呵。。也沒有什么號說的。奉上源代碼:
#include <stdio.h>
#include 
<stdlib.h>
#include 
<time.h>

//化分區間,找到最后元素的排序位置。并返回分隔的點(即最后一數據排序的位置)。
//劃分的區間是[nBegin, nEnd). pData是保存數據的指針
int Partition(int* pData, int nBeging, int nEnd)
{
    
int i = nBeging + rand()%(nBeging - nEnd);
    
//這里是和hoare的思路寫的,和原版本不是完全一樣,思路是一樣的。
    int x = pData[i];
    pData[i] 
= pData[nBeging];
    pData[nBeging] 
= x;
    
//int x = pData[nBeging];
    --nEnd;

    
while (nBeging < nEnd)
    
{
        
//從后向前,找到比X小的元素位置
        while(pData[nEnd] > x)
        
{
            
--nEnd;
        }

        
//把x小的元素位置提前,nBegin處剛好能保存比x小的元素
        if (nBeging < nEnd)
        
{
            pData[nBeging] 
= pData[nEnd];    
            pData[nEnd] 
= x;    //這里是為了做一個哨兵,防止小區域增加時越界。
            ++nBeging;
        }


        
//小的區域增加,找到一個不比x小的元素。
        while (pData[nBeging] < x)
        
{
            
++nBeging;
        }


        
//把不比x小的元素存放在大的區域內。nEnd剛好預留了此位置。
        if (nBeging < nEnd)
        
{
            pData[nEnd] 
= pData[nBeging];
            
--nEnd;
        }

    }


    pData[nBeging] 
= x;    //這里一定要賦值,不然如果是nEnd退出循環,他是保存著以前的大值,會出錯。
    return nBeging;   //返回nD的位置,就是分割的位置。
}


//排序的遞歸調用。
int QuickSortRecursion(int* pData, int nBeging, int nEnd)
{
    
if (nBeging >= nEnd -1)        //如果區域不存在或只有一個數據則不遞歸排序
    {
        
return 1;
    }


    
//這里因為分割的時候,分割點處的數據就是排序中他的位置。
    
//也就是說他的左邊的數據都小于等于他,他右邊的數據都大于他。
    
//所以他不在遞歸調用的數據中。
    int i = Partition(pData, nBeging, nEnd);        //找到分割點

    QuickSortRecursion(pData, nBeging, i);            
//遞歸左邊的排序
    QuickSortRecursion(pData, i + 1, nEnd);            //遞歸右邊的排序
    return 1;
}


//快速排序
int QuickSort(int* pData, int nLen)
{
    srand((unsigned 
int)time(NULL));
    
//遞歸調用,快速排序。
    QuickSortRecursion(pData, 0, nLen);
    
return 1;
}

int main()
{
    
int nData[10= {2,6,3,4,1,5,7,8,10,9};        //測試數據
    QuickSort(nData, 10);
    
for (int i = 0; i < 10++i)
    
{
        printf(
"%d ", nData[i]);
    }

    printf(
"\n");
    
    system(
"pause");
    
return 0;
}

posted on 2009-04-23 21:09 shongbee2 閱讀(2395) 評論(1)  編輯 收藏 引用 所屬分類: 數據結構和算法

評論

# re: 快速排序學習4(最初版加隨機版) 2013-09-20 18:05 LAYU

if (nBeging >= nEnd -1) //如果區域不存在或只有一個數據則不遞歸排序
{
return 1;
}



改成比較好些,當數組為兩個元素時,就排不出來了
if (nBeging >= nEnd) //如果區域不存在或只有一個數據則不遞歸排序
{
return 1;
}  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品一区二区三区久久| 欧美成人亚洲成人日韩成人| 国产综合在线看| 国产噜噜噜噜噜久久久久久久久| 国产精品v一区二区三区| 国产精品久久久久秋霞鲁丝| 国产欧美日韩中文字幕在线| 在线观看欧美日韩国产| 亚洲伦理一区| 欧美在线短视频| 亚洲福利一区| 国产日韩欧美电影在线观看| 久久视频国产精品免费视频在线 | 亚洲精品乱码久久久久久按摩观| 亚洲毛片在线观看| 亚洲图片欧洲图片日韩av| 久久精品av麻豆的观看方式| 欧美成人精品一区二区| 国产精品久久久久久久久搜平片 | 亚洲天堂偷拍| 久久久久久久综合色一本| 欧美精品久久久久久久| 国产欧美日韩视频在线观看 | 久久婷婷久久| 一区二区三区欧美视频| 狼人天天伊人久久| 国产精品午夜在线| 一本色道久久综合亚洲精品高清| 久久精品人人做人人爽| 99精品热视频| 模特精品在线| 国产真实乱子伦精品视频| 亚洲一区二区视频| 亚洲高清av| 麻豆精品在线视频| 国产欧美另类| 午夜亚洲性色视频| 亚洲麻豆视频| 亚洲精品日本| 亚洲激情第一页| 一区二区激情| 亚洲国产精品一区二区www在线 | 亚洲乱码国产乱码精品精可以看| 亚洲一区二区三区国产| 欧美精选午夜久久久乱码6080| 在线观看视频一区| 久久亚洲视频| 久久久欧美精品| 韩国av一区二区三区| 欧美一级精品大片| 亚洲亚洲精品三区日韩精品在线视频| 欧美成人精品影院| 亚洲精品免费看| 亚洲激情在线观看视频免费| 久久综合网hezyo| 欧美一区二区国产| 国产精品私拍pans大尺度在线| 欧美精品日韩www.p站| 91久久线看在观草草青青| 久久综合久久综合这里只有精品 | 免费中文字幕日韩欧美| 久久久之久亚州精品露出| 国内精品99| 牛牛国产精品| 免费在线观看成人av| 亚洲高清久久| 欧美激情中文字幕乱码免费| 免费av成人在线| 亚洲老司机av| 99视频精品免费观看| 欧美体内谢she精2性欧美| 亚洲桃色在线一区| 先锋影院在线亚洲| 在线观看欧美一区| 亚洲黄色一区| 国产精品乱码一区二三区小蝌蚪| 亚洲自拍16p| 性欧美xxxx大乳国产app| 国产亚洲成精品久久| 美女福利精品视频| 欧美精品久久久久a| 亚洲自拍电影| 久久精品在线观看| 日韩视频中文| 午夜久久久久久久久久一区二区| 狠狠狠色丁香婷婷综合久久五月| 欧美高清视频在线| 欧美天堂在线观看| 久久综合色88| 欧美华人在线视频| 午夜视频一区在线观看| 久久资源在线| 亚洲调教视频在线观看| 久久成人综合网| 这里只有精品丝袜| 久久国内精品自在自线400部| 日韩亚洲欧美一区| 午夜精品在线| 一本色道久久综合亚洲精品不卡| 香蕉av福利精品导航| 亚洲激情网址| 欧美伊人久久大香线蕉综合69| 亚洲三级电影在线观看| 亚洲欧美日韩国产另类专区| 亚洲精品123区| 羞羞视频在线观看欧美| 一本大道久久精品懂色aⅴ| 欧美一级免费视频| 亚洲一区二区三区在线| 免费影视亚洲| 久久久精品一品道一区| 国产精品成人午夜| 亚洲欧洲免费视频| 亚洲国产精品va在线看黑人动漫 | 欧美日韩1234| 久久久久久一区| 国产精品婷婷午夜在线观看| 亚洲国内在线| 在线观看日韩国产| 午夜久久福利| 羞羞视频在线观看欧美| 欧美日韩国产一区| 亚洲电影免费| 亚洲福利免费| 久久免费99精品久久久久久| 亚洲欧美激情一区| 欧美日韩午夜在线视频| 亚洲国内精品在线| 日韩网站在线看片你懂的| 久久性天堂网| 男女精品网站| 亚洲黄色av| 免费久久99精品国产自| 欧美h视频在线| 亚洲国产精品尤物yw在线观看| 性色一区二区| 久久―日本道色综合久久| 国产毛片一区| 亚洲欧美国内爽妇网| 欧美一级在线亚洲天堂| 国产精品视频免费观看| 亚洲欧美久久久久一区二区三区| 午夜精品久久久久久| 国产精品乱码一区二三区小蝌蚪| 亚洲影院在线| 久久先锋资源| 亚洲黄色三级| 欧美日韩三级在线| 亚洲午夜国产一区99re久久| 欧美在线视频全部完| 黑丝一区二区三区| 欧美a级片网站| 亚洲最新中文字幕| 欧美一区二区三区在| 精品不卡视频| 欧美激情第二页| 99精品国产高清一区二区| 欧美一区二区三区四区在线| 国产视频在线观看一区二区| 久久免费少妇高潮久久精品99| 亚洲高清色综合| 亚洲欧美综合国产精品一区| 狠狠色丁香婷婷综合| 欧美a一区二区| 亚洲一区久久| 欧美成人精品在线播放| 99re6热只有精品免费观看 | 久久久久国产精品一区三寸| 欧美激情精品久久久久久蜜臀| 在线综合亚洲欧美在线视频| 国产亚洲精品7777| 欧美激情一区二区久久久| 亚洲视频欧美在线| 美女诱惑黄网站一区| 亚洲小视频在线观看| 亚洲国产成人在线| 国产乱码精品一区二区三区五月婷 | 美女视频一区免费观看| 亚洲午夜国产一区99re久久| 亚洲精品一二三| 老司机久久99久久精品播放免费| 亚洲人体1000| 久久免费高清| 欧美一区二区在线免费播放| 亚洲另类自拍| 亚洲第一免费播放区| 国产精品毛片a∨一区二区三区| 免费欧美日韩| 国产一区二区三区黄视频| 欧美国产91| 国产日韩欧美电影在线观看| 欧美大尺度在线观看| 性做久久久久久久免费看| 亚洲精选视频免费看| 久久久综合视频| 亚洲综合视频在线| 一本久道久久综合狠狠爱| 亚洲大黄网站| 激情视频一区二区| 国产一区二区精品久久|