当前位置: 首页 > news >正文

建设个网站国外大气网站欣赏

建设个网站,国外大气网站欣赏,创业先做网站,厦门网站建设工程一、须知 本代码是在数据结构——哈夫曼树编程上建立的#xff0c;使用时需将代码剪切到C等软件中。需要输入权值方可实现流程图#xff0c;但是还需要按照编程换算出的结果自己用笔画出流程图。 下面将代码粘贴到文章中#xff0c;同时举一个例子#xff1a;二、代…一、须知 本代码是在数据结构——哈夫曼树编程上建立的使用时需将代码剪切到C等软件中。需要输入权值方可实现流程图但是还需要按照编程换算出的结果自己用笔画出流程图。        下面将代码粘贴到文章中同时举一个例子二、代码段 #include stdio.h #define MAXLEN 100 typedef struct //定义本机构体 {int weight; //定义一个整形权值的变量int lchild,rchild,parent; //分别定义左孩子、右孩子及双亲指针 }HTNode; typedef HTNode HT[MAXLEN]; //表明向量的类型 int n; //定义整形变量n //-----------------初始化子函数--------------------------------------------- void InitHFMT (HT T) { int i;printf(\n请输入权值的总数(需小于100):);scanf(%d,n);for(i0;i2*n-1;i){T[i].weight0;T[i].lchild-1;T[i].rchild-1;T[i].parent-1;} } //-----------------输入权值子函数-------------------------------------------- void InputWeight (HT T) {int w,i;for(i0;in;i){printf(请输入第%d个权值:,i1);scanf(%d,w);getchar();T[i].weightw;} } //-----------------选择两个结点中小的结点------------------------------------ void SelectMin (HT T,int i,int *pl,int *p2) {long minl888888,min2888888; //设两个长整型数值并使它大于可能会出现的最大权值int j;for(j0;ji;j){if(T[j].parent-1){if(minlT[j].weight){ minlT[j].weight; //找出最小权值*plj; //通过*p1带回序号}} }for (j0;ji;j){ if(T[j].parent-1){ if (min2T[j].weightj!(*pl)){ min2T[j].weight; //找出第二最小权值*p2j; //通过*p2带回序号}}} } //-----------------构造哈夫曼树T[2*n-1]为根节点-----------------------------void CreatHFMT (HT T){int i,pl,p2;InitHFMT (T);InputWeight(T);for(in;i2*n-1;i){ SelectMin(T,i-1,pl,p2);T[pl].parentT[p2].parenti;T[i].lchildT[pl].weight;T[i].rchildT[p2].weight;T[i].weightT[pl].weightT[p2].weight;}} //-----------------输出向量状态表---------------------------------------------- void printHFMT (HT T) { int i;printf(\n哈夫曼树的两边显示为(建议由下往上看/画):\n);for(i0;i2*n-1;i)while(T[i].lchild!-1){printf((两边和为%d,左边值为%d,右边值为%d)\n,T[i].weight,T[i].lchild,T[i].rchild);break;} } //-----------------哈夫曼编码函数---------------------------------------------- void hfnode(HT T,int i,int j) {jT[i].parent;if (T[j].rchildT[i].weight)printf(1);elseprintf(0);if(T[j].parent!-1)ij,hfnode (T,i,j); } //-----------------求哈夫曼树编码---------------------------------------------- void huffmannode(HT T) {int i,j,a;printf(\n输入的权值的对应哈夫曼树编码(下面的哈夫曼编码树是由下往上排序的!!!):);for (i0;in;i){j0;ai;printf(\n%i的编码为:,T[i].weight);hfnode(T,i,j);ia;} } //-----------------主函数------------------------------------------------------- void main() { HT HT;CreatHFMT(HT);printHFMT(HT);huffmannode(HT);printf(\n ); } 三、举例流程图 1.首先输入权值总数以及各个权值编程便可实现   2.按照代码画流程图以上面图片的权值举例在编程结果出来后首先看两面的数值 先看最后一行的和为37那么流程图的总数最高点便变为37 其次37的下面左边值为17右边值为20 在看上一行和为20那么对照代码下一行两边的值可知右边值为20 所以在右边值下的左边值和右边值分别为10 依次往上就不都举例了······ 本编程的哈夫曼树编码有问题其所给的数值与实际答案是相反的列入9的变为为10那么他真正的编码为01。就是1为00为1. 四、结语 本编程是能快速实现哈夫曼树的编码结果有基础的同学看一下流程就知道是什么回事了基础差的需要慢慢理解本文章就不详细再讲了同时这个代码有些错误用能力者可以修改调试实现更加完美的程序
http://www.dnsts.com.cn/news/148685.html

相关文章:

  • 网站建设 拖欠尾款六安房产网
  • 万江区网站建设公司科技有限公司一般是做什么的
  • 检测网站是否被做跳转wordpress 文件上传大小
  • 东莞建设通网站怎么做公众号
  • 网站建设要咨询哪些计算机软件网站建设
  • 北京企业网站建设方黄骅市天气预报15天气
  • php网站模板带后台技术类网站模板
  • 做地方门户网站的资质太平洋网站开发
  • 网站浮动窗口代码广州注册公司流程
  • 网站推广策划书怎么说上海红酒网站建设
  • 家装公司排行榜长春百度搜索优化
  • 做教育机构网站湖南网站优化推广
  • 找团队做网站长春电商网站建设公司排名
  • 买别人做的网站能盗回吗东莞新感染一例阳性
  • 照片做视频的软件 模板下载网站前端外包公司
  • 南通网站推广公司做网站服务器
  • ...无锡网站制作虚拟主机搭建网站源码
  • 网页设计 网站网站建设方案图
  • html家乡网站设计深圳做网站的公司排行
  • 苏州网站推广软件个人网站备案成功后怎么做
  • 深圳外贸网站开发建设策划网站做营销推广
  • 大连门户网站开发深圳app网站开发
  • 建设网站的企业有哪些wordpress 为什么要ftp
  • 苏州市吴中区建设局网站开网站挣不挣钱
  • 图片制作二维码六年级下册数学优化设计答案
  • 网站建设工作总结食品网站建设方案
  • 网站改版公司哪家好网易企业邮箱收件服务器主机名
  • 免费建站网页无需登陆国外 网站 源码
  • 手机网站制作软件开发商网站
  • 怎么看网站创建者是谁域名申请网站