版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 在數(shù)據(jù)通信中,經(jīng)常需要將傳送的文字轉(zhuǎn)換成二進(jìn)制字符0和1組成的二進(jìn)制代碼,而這稱之為編碼。如果在編碼時(shí)考慮字符出現(xiàn)的頻率,讓出現(xiàn)頻率高的字符采用盡可能短的編碼,出現(xiàn)頻率低的字符采用稍長(zhǎng)的編碼,構(gòu)成一種不等長(zhǎng)的編碼,則電文的代碼就可能更短。哈夫曼是一種用于構(gòu)造使電文的編碼總長(zhǎng)最短的編碼方案。</p><p&
2、gt; 關(guān)鍵詞:哈夫曼編碼 數(shù)據(jù)通信 電文 頻率 二進(jìn)制</p><p><b> 目 錄</b></p><p> 1 哈夫曼編碼器1</p><p><b> 1.1設(shè)計(jì)目的1</b></p><p><b> 1.2設(shè)計(jì)要求1</b>&
3、lt;/p><p> 2 問題的描述與解決2</p><p> 3 哈夫曼編碼器的概要設(shè)計(jì)5</p><p><b> 3.1 結(jié)構(gòu)圖5</b></p><p> 3.2概要設(shè)計(jì)介紹5</p><p> 4 結(jié)果顯示及說明7</p><p><b>
4、; 4.1結(jié)果顯示7</b></p><p> 4.2執(zhí)行方法說明9</p><p><b> 5 小結(jié)10</b></p><p><b> 參考文獻(xiàn)11</b></p><p><b> 附錄12</b></p><p&g
5、t;<b> 1 哈夫曼編碼器</b></p><p> 數(shù)據(jù)結(jié)構(gòu)作為一門學(xué)科主要研究數(shù)據(jù)的各種邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),以及對(duì)數(shù)據(jù)的各種操作。因此,主要有三個(gè)方面的內(nèi)容:數(shù)據(jù)的邏輯結(jié)構(gòu);數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu);對(duì)數(shù)據(jù)的操作(或算法)。通常,算法的設(shè)計(jì)取決于數(shù)據(jù)的邏輯結(jié)構(gòu),算法的實(shí)現(xiàn)取決于數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)是信息的一種組織方式,其目的是為了提高算法的效率,它通常與一組算法的集合相對(duì)應(yīng),通
6、過這組算法集合可以對(duì)數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)進(jìn)行某種操作。</p><p> 在當(dāng)今信息時(shí)代,信息技術(shù)己成為當(dāng)代知識(shí)經(jīng)濟(jì)的核心技術(shù)。我們時(shí)刻都在和數(shù)據(jù)打交道。比如人們?cè)谕獬龉ぷ鲿r(shí)找最短路徑,在銀行查詢存款、通過互聯(lián)網(wǎng)查新聞、以及遠(yuǎn)程教育報(bào)名等,所有這些都在與數(shù)據(jù)發(fā)生關(guān)系。實(shí)際上,現(xiàn)實(shí)世界中的實(shí)體經(jīng)過抽象以后,就可以成為計(jì)算機(jī)上所處理的數(shù)據(jù)。</p><p> 數(shù)據(jù)結(jié)構(gòu)課程主要是研究非數(shù)值計(jì)算的
7、程序設(shè)計(jì)問題中所出現(xiàn)的計(jì)算機(jī)操作對(duì)象以及它們之間的關(guān)系和操作的學(xué)科。數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、計(jì)算機(jī)軟件和計(jì)算機(jī)硬件之間的一門計(jì)算機(jī)專業(yè)的核心課程,它是計(jì)算機(jī)程序設(shè)計(jì)、數(shù)據(jù)庫(kù)、操作系統(tǒng)、編譯原理及人工智能等的重要基礎(chǔ),廣泛的應(yīng)用于信息學(xué)、系統(tǒng)工程等各種領(lǐng)域。</p><p><b> 1.1設(shè)計(jì)目的</b></p><p> (1)復(fù)習(xí)并靈活掌握二叉樹的各種存儲(chǔ)結(jié)構(gòu)和遍
8、歷方法</p><p> ?。?)了解靜態(tài)鏈表,并掌握其構(gòu)造方法</p><p> (3)掌握哈夫曼樹的構(gòu)造過程和哈夫曼編碼的求解方法</p><p> ?。?)復(fù)習(xí)并掌握文件讀寫的基本方法</p><p><b> 1.2設(shè)計(jì)要求</b></p><p> ?。?)結(jié)點(diǎn)的權(quán)值由人工輸入,輸入
9、保存至文件中</p><p> (2)求得的哈夫曼編碼及WPL也必須寫入編碼文件中</p><p> ?。?)哈夫曼樹的存儲(chǔ)可以采用靜態(tài)鏈表或二叉鏈表</p><p> 2 問題的描述與解決</p><p> 問題描述:利用哈夫曼編碼進(jìn)行通信可以大大提高信道利用率,縮短信息傳輸時(shí)間,降低傳輸成本。但是,這要求在發(fā)送端通過一個(gè)編碼系統(tǒng)對(duì)
10、待傳數(shù)據(jù)預(yù)先編碼,在接收端將傳來的數(shù)據(jù)進(jìn)行譯碼(復(fù)原)。對(duì)于雙工信道(即可以雙向傳輸信息的信道),每端都需要一個(gè)完整的編/譯碼系統(tǒng)。試為這樣的信息收發(fā)站寫一個(gè)哈夫曼碼的編/譯碼系統(tǒng)。</p><p> 程序設(shè)計(jì)包含的幾個(gè)方面:哈夫曼樹的建立,哈夫曼樹的編譯,求WPL</p><p> 哈夫曼樹的建立由哈夫曼算法的定義可知,初始森林中共有n棵只含有根結(jié)點(diǎn)的二叉樹。算法的第二步是:將當(dāng)前森
11、林中的兩棵根結(jié)點(diǎn)權(quán)值最小的二叉樹,合并成一棵新的二叉樹;每合并一次,森林中就減少一棵樹,產(chǎn)生一個(gè)新結(jié)點(diǎn)。顯然要進(jìn)行n-1次合并,所以共產(chǎn)生n-1個(gè)新結(jié)點(diǎn),它們都是具有兩個(gè)孩子的分支結(jié)點(diǎn)。由此可知,最終求得的哈夫曼樹中一共有2n-1個(gè)結(jié)點(diǎn),其中n個(gè)結(jié)點(diǎn)是初始森林的n個(gè)孤立結(jié)點(diǎn)。并且哈夫曼樹中沒有度數(shù)為1的分支結(jié)點(diǎn)。我們可以利用一個(gè)大小為2n--1的一維數(shù)組來存儲(chǔ)哈夫曼樹中的結(jié)點(diǎn)。</p><p><b>
12、 舉例:</b></p><p> 求哈夫曼編碼的方法:</p><p><b> ?。?)構(gòu)造哈夫曼樹</b></p><p> ?。?)在哈夫曼樹上求葉結(jié)點(diǎn)的編碼。</p><p> 假設(shè)哈夫曼樹按數(shù)據(jù)頻度的權(quán)值從小到大,采用順序存儲(chǔ)結(jié)構(gòu)存儲(chǔ)。每次找到的權(quán)值最小值作為新生結(jié)點(diǎn)的左孩子,權(quán)值次小值作為
13、新生結(jié)點(diǎn)的右孩子,則左孩子的權(quán)值加右孩子的權(quán)值之和為根結(jié)點(diǎn)的權(quán)值。</p><p> 規(guī)定哈夫曼樹中的左分支代表0,右分支代表1,則從根結(jié)點(diǎn)到每個(gè)葉結(jié)點(diǎn)所經(jīng)過的路徑分支組成的0和1的序列便成為該葉子結(jié)點(diǎn)對(duì)應(yīng)的編碼。</p><p> WPL:從根結(jié)點(diǎn)到各個(gè)葉結(jié)點(diǎn)的路徑長(zhǎng)度與相應(yīng)結(jié)點(diǎn)權(quán)值的乘積之和。</p><p> 3 哈夫曼編碼器的概要設(shè)計(jì)</p>
14、;<p><b> 3.1 結(jié)構(gòu)圖</b></p><p><b> 系統(tǒng)結(jié)構(gòu)圖</b></p><p><b> 3.2概要設(shè)計(jì)介紹</b></p><p> (a)哈夫曼樹結(jié)點(diǎn)的類型定義:</p><p> typedef struct
15、 //結(jié)點(diǎn)類型定義</p><p><b> {</b></p><p> int wi; // 權(quán)值</p><p> char data; </p><p> int Parent,Lchild,Rchild; //定義父結(jié)點(diǎn)、左孩子、右
16、孩子</p><p><b> }huffm;</b></p><p> ?。╞)哈夫曼樹的編碼類型定義;</p><p> typedef struct </p><p><b> {</b></p><p> char bits[n+1];
17、 //用來存放0和1編碼</p><p> int start;</p><p><b> char ch;</b></p><p><b> }ctype;</b></p><p> ctype code[n+1];</p><p> 這一次的程序中
18、,我們一共用了三個(gè)函數(shù):</p><p> void HuffmTree(huffm HT[m+1]); // 構(gòu)造HuffmTree的函數(shù)</p><p> 1.由給定的8個(gè)權(quán)值,構(gòu)造8顆由二叉樹擴(kuò)充得到的擴(kuò)充二叉樹,每一個(gè)擴(kuò)充二叉樹只有一個(gè)外部結(jié)點(diǎn)。2.在已經(jīng)構(gòu)造的所有擴(kuò)充二叉樹中,選取根結(jié)點(diǎn)的權(quán)值最小和次小的兩個(gè),將它們作為左右子樹,構(gòu)造成一顆新的擴(kuò)充二叉樹,它的根結(jié)點(diǎn)的
19、權(quán)值為兩子樹的權(quán)值之和。3.重復(fù)執(zhí)行步驟2,每次都使擴(kuò)充二叉樹的個(gè)數(shù)減一,當(dāng)只剩下一顆擴(kuò)充二叉樹時(shí),它便是所要構(gòu)造的哈夫曼樹。</p><p> void Huffmcode(ctype code[n+1]); //求HuffmTree編碼的函數(shù)</p><p> 從根結(jié)點(diǎn)開始,尋找每一個(gè)葉子結(jié)點(diǎn),在尋找的過程中,經(jīng)過左子樹時(shí),編碼增加0,經(jīng)過右子樹時(shí)編碼增加1,當(dāng)每個(gè)葉子結(jié)點(diǎn)都
20、被訪問過時(shí),便得到相應(yīng)的編碼。</p><p> void Output (ctype code[n+1]); //打印編碼函數(shù)</p><p> 只要將已經(jīng)建立好的哈夫曼編碼,一一輸出就行了,用程序來實(shí)現(xiàn),再好好排版,就能顯示出來了。</p><p><b> 4 結(jié)果顯示及說明</b></p><p>
21、;<b> 4.1結(jié)果顯示</b></p><p><b> 圖(1)</b></p><p><b> 圖(2)</b></p><p> 圖(3) 圖(4)</p><p><b>
22、 4.2執(zhí)行方法說明</b></p><p> 圖(1):執(zhí)行菜單主界面 </p><p> 圖(2):輸入“1”,執(zhí)行哈夫曼編碼。根據(jù)上面的提示輸入8個(gè)字符和8個(gè)權(quán)值,按回車后就會(huì)顯示出字符,權(quán)值,葉結(jié)點(diǎn)及哈夫曼編碼</p><p> 圖(3):將輸入的字符及權(quán)值保存至記事本huffman中</p><p> 圖(4):
23、將執(zhí)行后得到的哈夫曼編碼保存至huffmancode中</p><p><b> 5 小結(jié)</b></p><p> 在這一次的課程設(shè)計(jì)中,我們編寫好源代碼后的調(diào)試過程中出現(xiàn)了不少的錯(cuò)誤,遇到了很多麻煩及困難,經(jīng)過千辛萬(wàn)苦的糾結(jié)最終我們最終還是找出錯(cuò)誤,調(diào)試成功了。</p><p> 在編寫這個(gè)程序的過程中,我復(fù)習(xí)了之前學(xué)的基本語(yǔ)法,哈弗
24、曼樹最小路徑的求取,哈弗曼編碼及譯碼的應(yīng)用范圍,程序結(jié)構(gòu)算法等一系列的問題,它使我對(duì)數(shù)據(jù)結(jié)構(gòu)改變了看法。在這次設(shè)計(jì)過程中,體現(xiàn)出自己設(shè)計(jì)模具的能力以及綜合運(yùn)用知識(shí)的能力,體會(huì)了學(xué)以致用、突出自己勞動(dòng)成果的喜悅心情,也從中發(fā)現(xiàn)自己平時(shí)學(xué)習(xí)的不足和薄弱環(huán)節(jié),從而加以彌補(bǔ)。</p><p> 我們編好后在老師的指導(dǎo)下,努力想使程序更完美,更符合要求,老師讓我們?cè)谧龊玫幕A(chǔ)上,嘗試一下哈夫曼譯碼的實(shí)現(xiàn)。于是我在課后參考
25、了老師給的程序,我花費(fèi)了很多的時(shí)間去把載入文件這塊做的更好,功夫不負(fù)有心人,我最終勝利的完成了。但譯碼的實(shí)現(xiàn)最終沒有成功,但通過對(duì)譯碼的編寫過程中,我們也了解了哈夫曼譯碼的求解思想。</p><p> 通過本次數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計(jì),我學(xué)到了很多在上課沒來得及消化的知識(shí),并對(duì)求哈夫曼樹及哈夫曼編碼的算法有了更加深刻的了解,更鞏固了課堂中學(xué)習(xí)有關(guān)于哈夫曼編碼的知識(shí),真正學(xué)會(huì)一種算法了。當(dāng)求解一個(gè)算法時(shí),不是拿到問題就
26、不加思索地做,而是首先要先對(duì)它有個(gè)大概的了解,接著再詳細(xì)地分析每一步怎么做,無論自己以前是否有處理過相似的問題,只要按照以上的步驟,必定會(huì)順利地做出來。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]. 譚浩強(qiáng).C程序設(shè)計(jì)(第四版). 清華大學(xué)出版社</p><p> [2] 陳元春,王中華,張亮,王勇 編著. 實(shí)用
27、數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)(第三版).中國(guó)鐵道出版社.</p><p> [3] 何欽銘,馮雁,陳越 著. 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì). 浙江大學(xué)出版社</p><p> [4] 陳媛,何波,蔣鵬,劉潔 編著. 數(shù)據(jù)結(jié)構(gòu) 學(xué)習(xí)指導(dǎo)·實(shí)驗(yàn)指導(dǎo)·課程設(shè)計(jì). 機(jī)械工業(yè)出版社</p><p> [5] 秦鋒,袁志祥 主編 陳學(xué)進(jìn),鄭嘯,程澤凱,王森玉副編. 數(shù)據(jù)結(jié)構(gòu)(C
28、語(yǔ)言版)例題詳解與課程設(shè)計(jì). 指導(dǎo)中國(guó)科學(xué)技術(shù)大學(xué)出版社</p><p><b> 附錄</b></p><p> #include <stdio.h></p><p> #include <stdlib.h></p><p> #include <string.h></
29、p><p> #define n 8 //n為定的8個(gè)數(shù)</p><p> #define m 2*n-1 //具有n個(gè)葉結(jié)點(diǎn)的哈夫曼樹共有2n-1個(gè)結(jié)點(diǎn)*/</p><p> #define max 2000 //最大值</p><p> typedef struc
30、t</p><p><b> {</b></p><p> int wi; //權(quán)值</p><p> char data;</p><p> int Parent,Lchild,Rchild; //定義父結(jié)點(diǎn)、左孩子、右孩子</p><p><
31、;b> }huffm;</b></p><p> huffm HT[m+1];</p><p> typedef struct</p><p><b> {</b></p><p> char bits[n+1];</p><p> int start;</p&
32、gt;<p><b> char ch;</b></p><p><b> }ctype;</b></p><p> ctype code[n+1];</p><p> void HuffmTree(huffm HT[m+1]);</p><p> void Huffmcod
33、e(ctype code[n+1]);</p><p> void Output (ctype code[n+1]);</p><p> //構(gòu)造HuffmTree的函數(shù)</p><p> void HuffmTree(huffm *HT)</p><p><b> {</b></p><p&
34、gt; int i,j,p1,p2;</p><p> int s1,s2;</p><p> for(i=n+1;i<=m;i++)</p><p><b> {</b></p><p><b> p1=p2=0;</b></p><p> s1=s2=m
35、ax;</p><p> for(j=1;j<=i-1;j++)</p><p> if(HT[j].Parent==0)</p><p> if(HT[j].wi <s1)</p><p><b> {</b></p><p><b> s2=s1;</b&
36、gt;</p><p> s1=HT[j].wi;</p><p> p2=p1; p1=j;</p><p><b> }</b></p><p> else if(HT[j].wi<s2)</p><p><b> {</b></p><
37、;p> s2=HT[j].wi ;</p><p><b> p2=j;</b></p><p><b> }</b></p><p> HT[p1].Parent=HT[p2].Parent=i;</p><p> HT[i].Lchild=p1;</p><p
38、> HT[i].Rchild=p2;</p><p> HT[i].wi=HT[p1].wi+HT[p2].wi;</p><p><b> }</b></p><p><b> return ;</b></p><p><b> }</b></p>
39、<p> //求HuffmTree編碼的函數(shù)</p><p> void Huffmcode(ctype code[n+1])</p><p><b> {</b></p><p> int i,p,s;</p><p><b> ctype md;</b></p>
40、;<p> for(i=1;i<=n;i++)</p><p><b> {</b></p><p> md.ch=code[i].ch;</p><p> md.start = n+1;</p><p><b> s=i;</b></p><p&g
41、t; p=HT[i].Parent;</p><p> while(p!=0)</p><p><b> {</b></p><p> md.start--;</p><p> if(HT[p].Lchild==s)</p><p> md.bits[md.start]='0&
42、#39;;</p><p><b> else </b></p><p> md.bits[md.start] ='1';</p><p><b> s=p;</b></p><p> p=HT[p].Parent;</p><p><b>
43、 }</b></p><p> code[i] = md;</p><p><b> }</b></p><p><b> }</b></p><p><b> //打印編碼函數(shù)</b></p><p> void Output(
44、ctype code[n+1])</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> if ((fp=fopen("huffmancode.txt","w"))==NULL)</p><p>&l
45、t;b> {</b></p><p> printf("不能打開文件\n");</p><p><b> exit(0);</b></p><p><b> }</b></p><p> fprintf(fp,"\n哈夫曼編碼");
46、</p><p><b> int i,j;</b></p><p> int WPL=0,count=0;</p><p> printf("\n");</p><p> printf("\n");</p><p> puts("
47、\t\t========================================");</p><p> printf("\n");</p><p> printf("\t\t\t葉結(jié)點(diǎn)\t\t哈夫曼編碼");</p><p> for(i=1;i<=n;i++)</p><p
48、><b> {</b></p><p> printf("\n\t\t\t %c\t\t",code[i].ch );</p><p> for(j=1;j<=n;j++)</p><p><b> {</b></p><p> if(j<code
49、[i].start)</p><p> printf(" ");</p><p><b> else</b></p><p> if((code[i].bits[j]=='0')||(code[i].bits[j]=='1'))</p><p><b>
50、 {</b></p><p> printf("%c",code[i].bits[j]);</p><p><b> count++;</b></p><p> fputc(code[i].bits[j],fp);</p><p><b> }</b><
51、;/p><p> } fprintf(fp,"\n");</p><p> WPL=WPL+count*HT[i].wi;</p><p><b> count=0;</b></p><p><b> }</b></p><p> printf(&
52、quot;\n\n");</p><p> printf("\t\t\t\tWPL=%d\n",WPL);</p><p> fprintf(fp,"\n WPL=%d",WPL);</p><p> puts(" \t\t=====================================
53、=== ");</p><p> fclose(fp);</p><p><b> }</b></p><p> void main()</p><p><b> {</b></p><p><b> FILE *fp;</b><
54、;/p><p> if ((fp=fopen("huffman.txt","w"))==NULL)</p><p><b> {</b></p><p> printf("不能打開文件\n");</p><p><b> exit(0);</
55、b></p><p><b> }</b></p><p><b> int i,j;</b></p><p><b> int w;</b></p><p> int flag=1;</p><p> int choice;</p
56、><p> ctype code[n+1];</p><p> char temp[n+1];</p><p> int temp2[n+1];</p><p> printf("\n");</p><p> (" \n\t\t 哈夫曼編碼器
57、 \n");</p><p> printf(" \n\t\t printf 主菜單 \n");</p><p> printf(" \n\t\t******************************************\n");&l
58、t;/p><p> printf(" \n\t\t* Would you want to play? *\n");</p><p> printf(" \n\t\t* 1-Yes and Start *\n");</p><p> pri
59、ntf(" \n\t\t* 0-No and Exit *\n");</p><p> printf(" \n\t\t******************************************\n");</p><p> printf(" \n\t\t請(qǐng)選擇菜單號(hào):
60、 ");</p><p> scanf("%d",&choice);</p><p> printf("\n");</p><p> while(flag&&(choice==1))</p><p><b> {</b></p>
61、<p> choice = 0;</p><p> for(i=1;i<=m;i++)//初始化</p><p><b> { </b></p><p> HT[i].data =NULL;</p><p> HT[i].wi=0;</p><p> HT[i].P
62、arent = 0;</p><p> HT[i].Lchild = HT[i].Rchild = 0;</p><p><b> }</b></p><p> for(i=1;i<=n;i++)</p><p><b> {</b></p><p> cod
63、e[i].start = 0;</p><p> code[i].ch = NULL;</p><p> for(j=1;j<=n;j++)</p><p> code[i].bits[j] = NULL;</p><p><b> }</b></p><p> printf(&q
64、uot; \t\tPlease input %d char(用空格隔開,以回車結(jié)束): \n",n);/*輸入字母*/</p><p> printf(" \t\t");</p><p> getchar();</p><p> scanf("%c %c %c %c %c %c %c %c",&
65、temp[1],&temp[2],&temp[3],&temp[4],&temp[5],&temp[6],&temp[7],&temp[8]);</p><p> fprintf(fp,"字符");</p><p> for(i=1;i<=n;i++)</p><p><b&
66、gt; {</b></p><p> code[i].ch =temp[i];</p><p> HT[i].data =temp[i];</p><p> fputc(temp[i],fp);</p><p><b> }</b></p><p> printf(&quo
67、t;\n\n");</p><p> printf(" \t\tPlease input %d rate(用空格隔開,以回車結(jié)束): \n",n);/*輸入權(quán)值*/</p><p> fprintf(fp,"\n權(quán)值");</p><p> printf(" \t\t");</
68、p><p> getchar();</p><p> scanf("%d %d %d %d %d %d %d %d",&temp2[1],&temp2[2],&temp2[3],&temp2[4],&temp2[5],&temp2[6],&temp2[7],&temp2[8]);</p>&l
69、t;p> fprintf(fp,"%d %d %d %d %d %d %d %d",temp2[1],temp2[2],temp2[3],temp2[4],temp2[5],temp2[6],temp2[7],temp2[8]);</p><p> printf("\n");</p><p> puts(" \t\t====
70、=================================");</p><p> printf(" \t\t\t 字符 權(quán)值\n");</p><p> for(i=1;i<n+1;i++)</p><p><b> {</b></p><p> print
71、f(" \t\t\t %c %4d \n",temp[i],temp2[i]);</p><p><b> }</b></p><p> puts(" \t\t======================================");</p><p> for(i=1;i&
72、lt;=n;i++)</p><p><b> {</b></p><p> w= temp2[i];</p><p> HT[i].wi = w;</p><p><b> }</b></p><p> HuffmTree(HT);</p><
73、p> Huffmcode(code);</p><p> Output(code);</p><p> printf("\n");</p><p> printf("\n");</p><p> printf(" \n\t\t************************
74、********************\n");</p><p> printf(" \n\t\t Continue? \n");</p><p> printf(" \n\t\t* 1--Contine *\n
75、");</p><p> printf(" \n\t\t* 0--Exit *\n");</p><p> printf(" \n\t\t********************************************\n");</p>&l
76、t;p> printf(" \n\t\t請(qǐng)選擇菜單號(hào): ");</p><p> scanf("%d",&choice);</p><p> if(choice!=1)</p><p><b> break;</b></p><p><b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 哈夫曼課程設(shè)計(jì)報(bào)告--哈夫曼編譯碼器
- 哈夫曼編碼課程設(shè)計(jì)報(bào)告
- 哈夫曼樹課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì) 哈夫曼樹及哈夫曼編碼
- 課程設(shè)計(jì)-哈夫曼編碼
- 哈夫曼樹課程設(shè)計(jì)
- 《哈夫曼編碼》課程設(shè)計(jì)
- 課程設(shè)計(jì)哈夫曼編碼
- 哈夫曼樹課程設(shè)計(jì)
- 哈夫曼編碼課程設(shè)計(jì)
- 課程設(shè)計(jì)哈夫曼編碼
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告----哈夫曼
- 哈夫曼編碼與譯碼課程設(shè)計(jì)報(bào)告
- 哈夫曼樹課程設(shè)計(jì) (2)
- 哈夫曼編譯碼器課程設(shè)計(jì)報(bào)告
- (哈夫曼編碼譯碼器)(課程設(shè)計(jì)報(bào)告)
- 課程設(shè)計(jì)--哈夫曼編碼與譯碼
- 課程設(shè)計(jì)---哈夫曼編碼編程實(shí)現(xiàn)
- 哈夫曼編碼的java實(shí)現(xiàn)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---哈夫曼編碼
評(píng)論
0/150
提交評(píng)論