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

隨感而發(fā)

雜七雜八

統(tǒng)計

留言簿(13)

閱讀排行榜

評論排行榜

堆排序

本來還想寫點思路的,詞窮,不知道怎么組織,算了。只有貼源代碼了。希望以后的我不要怪我哦!還可以看書嘛。書上講的已經(jīng)很清楚了哦。呵呵。
由于是學(xué)習(xí),所以只寫了最大堆,也沒有怎么優(yōu)化和詳細(xì)的測試。哎,無奈的貼上源代碼:
#include <stdio.h>
#include 
<stdlib.h>

//交換兩個整數(shù)。注意一定要if判斷是否兩個相等,如果
//不相等才交換,如果相等也交換會出錯的。a^a = 0
inline void Swap(int& a, int& b)
{
    
if (a != b)
    {
        a
^= b;
        b
^= a;
        a
^= b;
    }
}

//維持一個最大堆
int Heapify(int* npData, int nPos, int nLen)
{
    
int nMax = -1;                        //暫存最大值
    int nChild = nPos * 2;                //他的左孩子位置

    
while(nChild <= nLen)                //判斷他是否有孩子
    {
        nMax 
= npData[nPos];            //是當(dāng)前最大值為他

        
if (nMax < npData[nChild])        //與左孩子比較
        {
            nMax 
= npData[nChild];        //如果比左孩子小,就時最大值為左孩子
        }

        
//同理與右孩子比較,這里要注意,必須要保證有右孩子。
        if (nChild + 1 <= nLen && nMax < npData[nChild + 1])    
        {
            
++nChild;                    //賦值最大值的時候把孩子變?yōu)橛液⒆?,方便最后的?shù)據(jù)交換
            nMax = npData[nChild];

        }

        
if (nMax != npData[nPos])        //判斷是否該節(jié)點比孩子都打,如果不大
        {
            Swap(npData[nPos], npData[nChild]);    
//與最大孩子交換數(shù)據(jù)
            nPos = nChild;                        //該節(jié)點位置變?yōu)榻粨Q孩子的位置
            nChild *= 2;                        //因為只有交換后才使不滿足堆得性質(zhì)。
        }
        
else                            //都最大了,滿足堆得性質(zhì)了。退出循環(huán)
        {
            
break;
        }
    }

    
return 1;                        //維持結(jié)束。
}

//建立一個堆
int BuildHeap(int* npData, int nLen)
{
    
//從nLen / 2最后一個有葉子的數(shù)據(jù)開始,逐一的插入堆,并維持堆得平衡。
    
//因為堆是一個完全二叉樹,所以nlen/2+1- nLen之間肯定都是葉子。
    
//葉子還判斷什么呢。只有一個數(shù)據(jù),肯定滿足堆得性質(zhì)咯。
    for (int i = nLen / 2; i >= 1--i)
    {
        Heapify(npData, i, nLen);
    }

    
return 1;
}

//堆排序
int HeapSort(int* npData, int nLen)
{
    BuildHeap(npData, nLen);        
//建立一個堆。

    
while(nLen >= 1)                //逐一交和第一個元素交換數(shù)據(jù)到最后
    {                                //完成排序
        Swap(npData[nLen], npData[1]);
        
--nLen;
        Heapify(npData, 
1, nLen);//交換之后一定要維持一下堆得性質(zhì)。
    }                            //不然小的成第一個元素,就不是堆了。

    
return 1;
}

//main函數(shù),
int main()
{
    
int nData[11= {0,9,8,7,6,5,4,3,2,1,0};    //測試數(shù)據(jù),下標(biāo)從1開始哦。
    HeapSort(nData, 10);                        //堆排序

    
for (int i = 1; i <= 10++i)                //輸出排序結(jié)果。
    {
        printf(
"%d ", nData[i]);
    }
    printf(
"\n");
     system(
"pause");
    
return 0;
}

呵呵,等知道怎么寫思路了補上。。

posted on 2009-04-21 20:00 shongbee2 閱讀(4231) 評論(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>
            亚洲精品一区二区三区四区高清 | 日韩一级在线| 午夜精品偷拍| 国产精品乱看| 亚洲视频自拍偷拍| 亚洲肉体裸体xxxx137| 久久福利影视| 国产美女精品视频免费观看| 中国成人亚色综合网站| 亚洲韩国精品一区| 欧美成人福利视频| 亚洲人精品午夜在线观看| 欧美成人乱码一区二区三区| 欧美一区二区三区精品| 国产麻豆精品theporn| 亚洲欧美在线一区二区| 一区二区三区波多野结衣在线观看| 欧美777四色影视在线| 亚洲激情偷拍| 91久久精品国产91久久性色| 欧美成人免费视频| 亚洲精选成人| 99re6这里只有精品| 欧美日韩一区二区三区四区在线观看 | 免费人成网站在线观看欧美高清 | 欧美在线啊v一区| 亚洲欧美日韩视频一区| 国产午夜精品全部视频播放| 久久视频国产精品免费视频在线| 久久久久久久久伊人| 亚洲激情自拍| 9国产精品视频| 国产日韩精品在线播放| 久久夜色精品| 欧美紧缚bdsm在线视频| 亚洲欧美在线aaa| 久久精品亚洲精品| 亚洲精品日韩综合观看成人91| 日韩午夜中文字幕| 国产精品嫩草影院av蜜臀| 久久精品2019中文字幕| 噜噜噜久久亚洲精品国产品小说| 亚洲精品久久久久中文字幕欢迎你| 亚洲日本aⅴ片在线观看香蕉| 国产精品成人一区二区| 亚洲欧美日韩久久精品| 久久福利毛片| 91久久国产综合久久蜜月精品| 亚洲看片免费| 国产一区清纯| 亚洲国产一区二区在线| 国产精品久久网站| 裸体一区二区三区| 欧美日韩视频在线一区二区观看视频| 国产精品自在线| 牛牛影视久久网| 欧美三级乱人伦电影| 久久夜色精品| 国产精品theporn| 美女尤物久久精品| 国产精品激情| 亚洲国产91| 国产亚洲成精品久久| 亚洲美女视频| 国内成+人亚洲+欧美+综合在线| 亚洲三级国产| 亚洲电影免费观看高清完整版| 一区二区日韩免费看| 亚洲青涩在线| 久久久水蜜桃| 久久狠狠婷婷| 国产精品爱久久久久久久| 亚洲国产另类久久久精品极度| 国产一区亚洲| 性做久久久久久久免费看| 亚洲性av在线| 宅男噜噜噜66一区二区66| 国产精品视频网址| 欧美激情亚洲综合一区| 一本久道久久综合婷婷鲸鱼| 亚洲午夜一级| 一本综合久久| 欧美国产视频日韩| 欧美黄色精品| 亚洲二区在线视频| 久久国产精品久久国产精品| 午夜欧美电影在线观看| 欧美日韩国产成人| 亚洲国产欧美日韩| 麻豆国产精品va在线观看不卡 | aa级大片欧美三级| 欧美主播一区二区三区美女 久久精品人 | 国产精品久久久久久久久久尿| 亚洲精品美女在线观看播放| 欧美日韩中文字幕日韩欧美| 亚洲欧洲日产国产网站| 亚洲精品资源| 欧美日韩激情网| 夜夜嗨av色综合久久久综合网| 国产一区二区三区在线免费观看 | 夜夜嗨av色综合久久久综合网| 国产精品亚发布| 亚洲欧美不卡| 久久久久国产一区二区| 激情偷拍久久| 久久综合成人精品亚洲另类欧美| 欧美a级片一区| 日韩午夜激情| 国产精品久久二区二区| 午夜精品福利在线观看| 久久精品视频99| 亚洲二区在线视频| 欧美成人免费va影院高清| 亚洲大片免费看| 在线一区二区日韩| 国产精品一区二区你懂得| 久久国产主播| 亚洲国产日韩欧美在线图片| 一区二区三区欧美激情| 国产日韩欧美夫妻视频在线观看| 乱人伦精品视频在线观看| 国产视频在线观看一区二区三区| 久久久精品性| 亚洲精品综合| 久久久久久久久久久久久久一区| 亚洲国产老妈| 国产精品免费一区二区三区在线观看 | 久久久精品网| 亚洲免费观看视频| 国产欧美视频一区二区| 免费一级欧美片在线观看| 亚洲国产1区| 欧美在线播放视频| 亚洲精品视频一区二区三区| 国产精品婷婷| 欧美国产一区二区在线观看 | 国产精品久久久久7777婷婷| 欧美韩国在线| 性做久久久久久久久| 亚洲国产视频一区| 国产精品女人久久久久久| 久热re这里精品视频在线6| 国产精品99久久久久久久vr| 亚洲福利小视频| 欧美一区国产二区| 亚洲日本中文字幕区| 1024日韩| 欧美黄色一区| 欧美一区2区三区4区公司二百| 亚洲福利精品| 久久先锋影音| 午夜久久影院| 99在线精品视频在线观看| 国产一区二区三区四区hd| 欧美日韩国产成人在线| 久久亚洲综合色| 亚洲欧美日韩国产成人精品影院| 亚洲黄色成人久久久| 久久午夜激情| 久久精品色图| 欧美中文字幕在线播放| 亚洲一区二区三区视频播放| 日韩视频中午一区| 亚洲欧洲另类国产综合| 在线成人中文字幕| 国内精品久久久久久久97牛牛| 国产精品久久综合| 欧美三级视频在线观看| 欧美成人国产| 欧美成人第一页| 麻豆成人在线播放| 美女成人午夜| 久久在线视频| 久久久久久伊人| 久久久噜噜噜久噜久久| 久久久视频精品| 美日韩精品视频| 欧美福利在线| 欧美日韩国产免费观看| 欧美日韩在线看| 欧美新色视频| 国产精品婷婷| 国语精品一区| 亚洲国产毛片完整版| 亚洲欧洲综合另类| 亚洲国产精品久久精品怡红院| 精品二区视频| 最近看过的日韩成人| 亚洲免费播放| 一区二区三区日韩| 亚洲欧美中日韩| 亚洲伊人久久综合| 一区二区三区精品| 午夜视频久久久久久| 亚洲一区在线观看免费观看电影高清 | 亚洲国产精品一区二区www| 久久久久se| 久久久久九九九九| 久久av一区| 欧美高清在线精品一区|