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

#include <cstdio>
#include 
<algorithm>
#include 
<vector>
#include 
<queue>
#include 
<string>

using namespace std;

struct HTNode
{
    
int weight, letter, lchild, rchild;
    
    HTNode(){}
    HTNode( 
int a, int b, int c, int d ) :weight(a), letter(b), lchild(c), rchild(d) {}
};

struct  Info
{
    
int  num, lett, id;
    Info();
    Info( 
int a, int c,  int b ): num(a), lett(c), id(b) {}
};

bool operator< ( Info const& a, Info const& b )
{
    
return a.num> b.num;
}

int     num[26], len= 0, root;
char    str[1000];
string  code[26];
vector
<HTNode>  ht;
priority_queue
<Info>  info;

void buildtree();
void codeht(int,string);
void decode( int,int);

void input()                                  //  輸入過程 
{
    printf(
"注意:  該程序只處理大寫字母, 其它字符不予處理\n");
    printf(
"請輸入文本, 在最后另起一行按  F6  結束輸入:\n");
    
char ch;
    
    memset( num, 
0sizeof(num) );
    
while( scanf("%c",&ch)!= EOF )
        
if( ch>= 'A' && ch<= 'Z' )  num[ch- 'A']++;
        
    printf(
"各字母個數為:\n");
    
for(int i= 0; i< 26++i )
    
if( num[i] ) printf("%c  %d\n", i+ 'A', num[i] ); 
}

void test()
{
    input();
    buildtree();
    codeht( root, 
"" );
    
    printf(
"各字母的哈夫曼編碼為:\n\n"); 
    
forint i= 0; i< 26++i )
    
if( num[i] ) printf("%c  %s\n", i+ 'A', code[i].c_str() );
    
    printf(
"\n\n\n請輸入你要解碼的字符串,不能有空格,并且輸入合法\n"); 
    scanf(
"%s", str );
    
    printf(
"解碼后為:\n\n"); 
    
    decode(
0, root ); 
    printf(
"\n\n\n");
}

void codeht( int i, string s )                    //   編碼過程 
{
    
if( ht[i].lchild== -1 )  
    {
        code[ ht[i].letter ]
= s;
    }
    
else
    {
        codeht( ht[i].lchild, s
+ '0' );
        codeht( ht[i].rchild, s
+ '1' );
    }
}

void decode( int i, int j )                      //   解碼過程 
{
    
if( ht[j].lchild== -1 && ht[j].rchild== -1 )
    {
        printf(
"%c", ht[j].letter+ 'A' );
        
if( str[i] ) decode( i, root );
    }
    
else if!str[i] ) return;
    
else if( str[i]== '0' )      decode( i+ 1, ht[j].lchild );
    
else if( str[i]== '1' )      decode( i+ 1, ht[j].rchild );
}

void buildtree()                                //   建樹過程 
{
    len
= 0;
    
forint i= 0; i< 26++i )
    
if( num[i] )
    {
        ht.push_back( HTNode( num[i], i, 
-1-1 ) );
        info.push( Info( num[i], i, len
++ ) );
    }
    
    
if( info.size()== 1 ) {  root= 0;  return;  }
    
    Info  a
= info.top();  info.pop();
    Info  b
= info.top();  info.pop();
    
    info.push( Info( a.num
+ b.num, -1, len++ ) );
    ht.push_back( HTNode( a.num
+ b.num, -1, a.id, b.id ) );
    
    
while( info.size()> 1 )
    {
        Info a
= info.top(); info.pop();
        Info b
= info.top(); info.pop();
        
        info.push( Info( a.num
+ b.num, -1, len++ ) );
        ht.push_back( HTNode( a.num
+ b.num, -1, a.id, b.id ) );
    }    
    
    root
= info.top().id;
}

int main()
{
    test();
    
    system(
"pause");
    
return 0;
}

/*

7 5 2 4 6

*/
posted on 2008-11-12 21:03 Darren 閱讀(300) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美精品激情在线| 午夜精品久久久久久久久久久久久| 麻豆国产精品777777在线| 欧美在线视频a| 久久精彩免费视频| 久久人人97超碰国产公开结果| 欧美专区中文字幕| 麻豆精品视频在线观看视频| 欧美好吊妞视频| 欧美日韩一区二区三区视频| 国产精品久久久久国产精品日日| 国产精品美女xx| 国模一区二区三区| 亚洲欧洲一区二区三区在线观看| 夜夜嗨av一区二区三区| 香蕉成人伊视频在线观看 | 欧美一区观看| 六月丁香综合| 亚洲人成人一区二区在线观看| 麻豆av一区二区三区| 亚洲国产一区二区三区a毛片 | 日韩午夜黄色| 午夜久久黄色| 欧美国产精品久久| 亚洲视频久久| 欧美a级片网| 国产精品主播| 日韩一区二区精品葵司在线| 欧美一区二粉嫩精品国产一线天| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲精品一区二区三区不| 久久国产毛片| 欧美午夜不卡视频| 亚洲欧洲日韩在线| 久久免费午夜影院| 99国产精品| 免费观看国产成人| 国精品一区二区三区| 亚洲欧美国产日韩天堂区| 亚洲高清资源综合久久精品| 午夜电影亚洲| 欧美体内she精视频| 亚洲日韩成人| 欧美福利电影网| 久久久久国产精品一区| 国产女主播一区二区三区| 亚洲香蕉网站| 亚洲精品偷拍| 另类亚洲自拍| 亚洲欧美在线播放| 国产精品毛片在线| 亚洲图片自拍偷拍| 亚洲欧洲久久| 欧美精品二区三区四区免费看视频| 国产日韩欧美三级| 性欧美18~19sex高清播放| 一本色道久久88综合日韩精品| 欧美韩日一区| 99在线精品视频| 亚洲人成人一区二区三区| 欧美顶级大胆免费视频| 亚洲开发第一视频在线播放| 欧美96在线丨欧| 免费日韩一区二区| 亚洲精品久久嫩草网站秘色| 牛牛精品成人免费视频| 久久久久久久久久久久久久一区 | 美女黄毛**国产精品啪啪| 在线看片成人| 欧美激情视频网站| 久久中文字幕一区| 亚洲人成亚洲人成在线观看图片 | 亚洲国产精品国自产拍av秋霞| 久久久久综合一区二区三区| 精品不卡一区| 久久精品动漫| 久久久国产亚洲精品| 玉米视频成人免费看| 女女同性精品视频| 欧美福利在线观看| 亚洲自拍偷拍网址| 欧美一区=区| 亚洲激情黄色| 91久久精品一区二区三区| 欧美日韩在线播放三区四区| 亚洲欧美久久| 久久婷婷色综合| 一本色道久久综合| 亚洲欧美日韩久久精品 | 亚洲靠逼com| 中文精品一区二区三区| 国产在线精品二区| 亚洲精品国久久99热| 国产麻豆午夜三级精品| 美女久久网站| 欧美精品v日韩精品v韩国精品v| 亚洲一区二区三区激情| 久久精品国产一区二区三区| 日韩一级黄色片| 久久成人精品一区二区三区| 亚洲欧洲另类国产综合| 亚洲午夜极品| 亚洲精品在线观看视频| 久久人人爽爽爽人久久久| 欧美一区二区三区四区在线 | 欧美视频中文字幕在线| 欧美在线3区| 欧美黄色免费网站| 欧美中文字幕精品| 欧美精品国产一区二区| 久久久亚洲高清| 国产精品激情av在线播放| 欧美国产精品劲爆| 国内精品久久久久久久97牛牛| 一区二区三区精品视频在线观看| 亚洲国产精品传媒在线观看 | 欧美国产日韩在线| 久久精品人人做人人爽| 欧美日韩理论| 欧美激情在线有限公司| 国产一区二区久久精品| 亚洲一二三区精品| 亚洲私人影院在线观看| 久久国产一区二区| 久久国产精彩视频| 国产精品中文在线| 亚洲综合精品自拍| 亚洲免费视频观看| 欧美午夜影院| 一区二区不卡在线视频 午夜欧美不卡'| 激情综合在线| 久久婷婷av| 男女激情久久| 最新中文字幕亚洲| 欧美激情黄色片| 亚洲国产欧美不卡在线观看| 亚洲国产欧美在线人成| 久久亚洲综合| 亚洲国产欧美日韩| 日韩视频一区二区三区| 欧美另类99xxxxx| 99精品免费网| 亚洲欧美日韩区| 国产欧美精品一区aⅴ影院| 亚洲午夜精品久久久久久app| 亚洲欧美日韩精品久久久久| 国产精品一级久久久| 午夜精品在线视频| 久久久精品动漫| 在线免费观看欧美| 欧美国产日韩在线观看| 夜夜嗨一区二区| 久久精彩视频| 亚洲国产一区在线观看| 欧美日韩不卡视频| 亚洲欧美中文日韩在线| 另类av导航| 99re6热在线精品视频播放速度| 欧美人与性动交cc0o| 夜夜嗨av色一区二区不卡| 欧美一区二区三区视频| 精品成人a区在线观看| 狼人天天伊人久久| 9久草视频在线视频精品| 亚洲欧美日韩在线观看a三区 | 亚洲欧洲一二三| 久久综合狠狠综合久久激情| 欧美黑人国产人伦爽爽爽| 一区二区三区视频在线播放| 欧美日韩免费观看一区三区| 亚洲在线中文字幕| 欧美高清你懂得| 亚洲一区美女视频在线观看免费| 国产乱肥老妇国产一区二| 久久精品2019中文字幕| 亚洲免费精品| 久久免费国产精品| 亚洲一区二区三区精品在线观看| 狠狠色丁香婷婷综合影院| 欧美啪啪一区| 久久精品免费播放| 一区二区三区免费看| 欧美成人一品| 久久精品一级爱片| 亚洲天堂av综合网| 在线精品福利| 国产一区二区黄| 国产精品乱码一区二三区小蝌蚪| 久久夜色精品国产噜噜av| 亚洲一区二区在线观看视频| 亚洲人成网站色ww在线| 老司机67194精品线观看| 亚洲午夜一区二区三区| 亚洲人人精品| 影音先锋亚洲一区| 国产一区在线视频| 国产精品视频精品视频| 欧美日韩国产首页在线观看| 欧美成人a∨高清免费观看| 久久婷婷久久|