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

#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>
            蜜臀91精品一区二区三区| 六月丁香综合| 久久婷婷国产综合精品青草| 先锋资源久久| 欧美一区二区三区视频在线| 午夜精品福利视频| 久久精品视频99| 麻豆精品传媒视频| 欧美激情中文字幕乱码免费| 欧美护士18xxxxhd| 9i看片成人免费高清| 中日韩高清电影网| 午夜国产不卡在线观看视频| 欧美呦呦网站| 欧美啪啪成人vr| 国产精品爽黄69| 亚洲国产日韩欧美在线99| 亚洲日本va午夜在线影院| 日韩午夜电影在线观看| 中文国产一区| 裸体歌舞表演一区二区| 欧美日韩伦理在线免费| 国产女人aaa级久久久级| 激情欧美一区二区| 亚洲视屏一区| 欧美成人免费视频| 99精品免费| 久久免费国产精品| 国产精品日韩在线| 一区二区三区av| 免费在线观看精品| 国产精品99久久久久久人| 久久亚洲一区二区| 国产美女精品一区二区三区| 亚洲美女av在线播放| 欧美一级黄色录像| 亚洲精品国产精品国自产观看浪潮| 亚洲欧美日韩精品一区二区| 欧美激情中文字幕在线| 一色屋精品视频在线看| 欧美亚洲在线| 99热免费精品在线观看| 久久久综合精品| 国产精品美女久久久| 一区二区三区|亚洲午夜| 亚洲国产婷婷香蕉久久久久久99| 新67194成人永久网站| 欧美精品麻豆| 亚洲精品视频在线观看免费| 蜜臀av国产精品久久久久| 中文无字幕一区二区三区| 欧美日韩伦理在线免费| 一本色道久久88综合亚洲精品ⅰ | 日韩视频中文| 亚洲欧美日韩成人| 欧美日韩亚洲国产精品| 亚洲国产裸拍裸体视频在线观看乱了| 欧美一级电影久久| 亚洲香蕉网站| 国产精品一区二区三区四区 | 欧美一区二视频| 亚洲剧情一区二区| 欧美日韩在线视频观看| 一区二区电影免费观看| 99精品国产在热久久下载| 欧美日本一区二区三区| 99热这里只有成人精品国产| 91久久精品国产| 欧美风情在线观看| 在线综合+亚洲+欧美中文字幕| 日韩网站免费观看| 国产精品欧美日韩一区| 欧美在线三区| 久久久国产成人精品| 亚洲电影天堂av| 亚洲人成在线影院| 国产精品久久久久毛片大屁完整版| 亚洲欧美在线一区| 久久精品理论片| 日韩午夜剧场| 午夜精品剧场| 亚洲国产一区二区a毛片| 亚洲精品网站在线播放gif| 欧美体内she精视频| 久久国产精品一区二区| 蜜臀av国产精品久久久久| 亚洲精品乱码| 国产女人18毛片水18精品| 老色鬼久久亚洲一区二区| 欧美福利电影网| 久久国产精品72免费观看| 欧美1区2区视频| 亚洲男人天堂2024| 久久久噜噜噜久噜久久| 一区二区三区日韩精品| 欧美在线亚洲一区| 日韩亚洲一区二区| 欧美在线1区| 日韩一区二区电影网| 午夜亚洲性色视频| 一区二区三区四区五区精品| 欧美在线关看| 亚洲欧美综合网| 欧美成人精品一区二区三区| 亚洲欧美国产制服动漫| 久久黄色小说| 午夜精品亚洲| 欧美伦理一区二区| 乱码第一页成人| 国产九九视频一区二区三区| 亚洲国产三级| 一区二区三区精密机械公司 | 欧美成人午夜激情| 欧美日韩国产一级| 你懂的国产精品永久在线| 国产精品综合色区在线观看| 亚洲激情小视频| 韩国一区二区在线观看| 亚洲伊人色欲综合网| 在线中文字幕一区| 欧美精品久久久久久久免费观看| 欧美大香线蕉线伊人久久国产精品| 国产精品永久在线| 在线视频你懂得一区| 亚洲一区二区三区精品动漫| 欧美freesex8一10精品| 免费观看日韩av| 国外成人在线视频| 亚洲欧美日韩在线综合| 国产精品99久久久久久宅男| 欧美国产第二页| 亚洲国产99精品国自产| 极品少妇一区二区三区| 久久久噜噜噜久久中文字免 | 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲精品国产系列| 美女在线一区二区| 欧美xx视频| 伊人久久噜噜噜躁狠狠躁| 久久国产精品亚洲77777| 久久久999国产| 影音先锋亚洲一区| 美女主播视频一区| 亚洲国产成人精品女人久久久 | 欧美日产一区二区三区在线观看| 久久久久亚洲综合| 国产综合色在线视频区| 久久精品99国产精品日本| 久久久蜜臀国产一区二区| 黄色日韩网站| 欧美freesex8一10精品| 亚洲国产你懂的| 亚洲综合丁香| 国产视频一区二区在线观看| 欧美一区二区啪啪| 亚洲一区二区伦理| 欧美日韩日日夜夜| 欧美日韩国产123| 欧美中文字幕精品| 国产日韩亚洲欧美| 久久国产色av| 欧美激情一区二区三级高清视频| 91久久久亚洲精品| 国产精品v欧美精品∨日韩| 亚洲欧美日韩天堂一区二区| 久久久亚洲国产天美传媒修理工| 狠狠色2019综合网| 欧美激情一区二区久久久| 中文精品视频| 欧美a级片一区| 在线中文字幕一区| 国产亚洲一区二区三区| 久久精品国产亚洲一区二区三区| 亚洲经典视频在线观看| 欧美永久精品| 精品99一区二区| 欧美精品www| 亚洲欧美视频在线观看视频| 欧美国产一区二区三区激情无套| 亚洲视频一起| 在线观看中文字幕不卡| 国产精品美女| 欧美日韩国产在线播放网站| 久久精品国产91精品亚洲| 日韩亚洲不卡在线| 欧美bbbxxxxx| 久久久99久久精品女同性| 国产精品99久久99久久久二8| 在线播放豆国产99亚洲| 国产精品综合| 国产精品美女主播| 欧美日本精品| 欧美成人性网| 久久网站免费| 久久精品官网| 欧美一区二区福利在线| 99精品欧美一区二区三区| 亚洲盗摄视频| 免费在线观看精品| 免费视频最近日韩|