费诺编码的C语言实现实验论文

费诺编码的C语言实现实验论文

ID:38422522

大小:49.50 KB

页数:4页

时间:2019-06-12

费诺编码的C语言实现实验论文_第1页
费诺编码的C语言实现实验论文_第2页
费诺编码的C语言实现实验论文_第3页
费诺编码的C语言实现实验论文_第4页
资源描述:

《费诺编码的C语言实现实验论文》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include//头文件#include#include#defineBmax10//最长码长度#defineSmax20//数组最大长度/************定义"位"的结构**********/structBit{charb[Bmax];//定义码长度数组的数据类型字符型组成成员intlast;};/***********定义符号的结构**********/typedefstructsymbol//共用体结构{charc;//定义信源符号c为字符型floatprobability;//定义符号概率prob

2、ality为浮点型structBitbit;//嵌套的结构体}sbl;sbls[Smax];//S数组最大容量符号/********输入符号的符号概率********/voidinput(intn){inti;//定义变量i类型整型intc;//定义变量c类型还是整型的好,字符型的也可以printf("请输入符号及符号概率");//打印出提示语"请输入符号及符号概率"c=getchar();for(i=0;i

3、obability);//用scanf函数输入符号概率c=getchar();}}/***********用冒泡法排序**********/voidsort(intn){floatt;//定义变量t为浮点型chara;//定义变量a为字符型inti,j;//定义循环变量i,j为整型for(i=1;i

4、分别交换其符号和概率{t=s[j].probability;a=s[j].c;s[j].probability=s[j+1].probability;s[j].c=s[j+1].c;s[j+1].probability=t;s[j+1].c=a;}//因此,此函数实现了各符号和其所对应的概率,按照概率的大小,从大到小排序}/************分组函数************/voidgroup(intn)//定义函数,无返回值{inti,pmid,plow,phigh;//定义变量为整型pmid=phigh=n;//给两个变量赋值为nplow=0;//给变量赋值

5、为0for(i=0;i

6、=dmin,则跳出整个for循环,要尽量使两组的差为0,才最接近1:1break;

7、}mid=i;//给中间数位赋值icode(low,mid,high);group1(low,mid,mid);//将一组分为了两组,中间为零界midgroup1(mid,high,high);}/****对各组赋予一个二进制码元“0”和“1”***/voidcode(intlow,intmid,inthigh)//编码{inti;//定义循环变量i为整型for(i=low;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。