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

自贡 网站建设建设现金分期网站

自贡 网站建设,建设现金分期网站,有什么设计网站,莆田网站制作设计功能实现#xff1a; //1:先计算每个字符的权重//2#xff1a;构建哈夫曼树//3#xff1a;得出每个字符的哈夫曼编码。//4:根据哈夫曼编码转化为字符 代码实现#xff1a; // 哈夫曼编码.cpp : 此文件包含 main 函数。程序执行将在此处开始并结束。 //1:先计…功能实现 //1:先计算每个字符的权重//2构建哈夫曼树//3得出每个字符的哈夫曼编码。//4:根据哈夫曼编码转化为字符 代码实现 // 哈夫曼编码.cpp : 此文件包含 main 函数。程序执行将在此处开始并结束。 //1:先计算每个字符的权重 //2构建哈夫曼树 //3得出每个字符的哈夫曼编码。#includeiostream #includestring using namespace std;class node { public:char value;int weight;//权重node* left;node* right;string code;//编码int zhi;node() {left NULL;right NULL;zhi 0;weight 0;}node( int a) {this-weight a;}void showa() {cout value weight codeendl;} }; void note(int notes[][26], string target) { //进行接受整理for (int i 0; i 26; i) {//记录每个字母出现次数notes[0][i] 97 i;//将本中第一行都分别记录一个小写字母的编码}for (char a : target) {//auto是一个占位符(auto a:target)根据后面的变量自己推断自己是什么类型,用于变量类型很长for (int i 0; i 26; i) {if (notes[0][i] a) {notes[1][i];break;}}} } void chang_shuzu(node target1[],int j,int notes[][26]) {//创建所需数组cout 电文中出现的字符及其出现的次数如下 endl;for (int i 0; i 26; i) {if (notes[1][i] ! 0) {cout (char)notes[0][i] : notes[1][i] endl;target1[j].value (char)notes[0][i];//构建存储字符和权重的数组target1[j].zhi 1;target1[j].weight notes[1][i];}} } void maopao(node target1[],int last,int farst) {//运用冒泡排序将数组根据权重变成递增数组for (int i farst; i last-1; i) {for (int j farst; j last- 1; j) {if (target1[j].weight target1[j 1].weight) {node temp;temp target1[j];target1[j] target1[j 1];target1[j 1] temp;}}} } void change_hafuma(node target1[],int farst,node target2[],int s) {//取出数组的前两个将其投入到创建链表中后来再将数组前两个删除存入新结合的树target2[s].weight target1[farst].weight target1[farst 1].weight;target2[s1] target1[farst];target2[s2] target1[farst 1];target2[s].left target2[s1];target2[s].right target2[s2];farst;target1[farst] target2[s];s s 3; } void show(node* x,string h,node target3[],int e) {//h为编码if (x-zhi1) {//则此时指向的是叶子节点x-code h;cout x-value : hendl;target3[e].value x-value;target3[e].code x-code;return;}show(x-left, h 0, target3,e);show(x-right, h 1, target3,e); } void show2(string target,node target3[],int last) {//展示电文对应编码cout 电文对应编码为 endl;for (char a : target) {for (int i 0; i 100; i) {if (a target3[i].value) {cout target3[i].code ;break;}}}cout endl;} void decode(node target3[],int last){string target;string p;cout 输入0-1二进制串‘e’退出;cin target;while (target!e) {string he ;for (char a : target) {he a;for (int i 0; i last; i) {if (he target3[i].code) {p target3[i].value;p ;he ;break;}}}if (he ! ) {cout 编码错误无法转换endlendl;}else{cout 编译转换的电文为 pendl endl;}p ;cout 输入0-1二进制串‘e’退出;cin target;} } int main() {//接收端int notes[2][26] { 0 };//令其初始都为0.cout 输入电文;string target;cin target;//用了for—each循环遍历note(notes,target);node target1[26];//初始记录有效节点node target2[100];//存储哈夫曼树所有节点node target3[26];//记录有效节点,此时其内节点中有每个节点的code值int last 0;//指向最后一个有效数组元素的后一个int farst 0;int s 0;//存哈夫曼节点的数组chang_shuzu(target1, last, notes);//创建数组//构建哈夫曼树int z 0;int e 0;while (last - farst ! 1) {maopao(target1,last,farst);change_hafuma(target1, farst,target2,s);}node x;x target1[farst];cout 电文中出现的字符的哈夫曼编码如下endl;show(x, ,target3,e);show2(target,target3, last);cout endl endl;;decode(target3,last); } 效果展示
http://www.zqtcl.cn/news/750443/

相关文章:

  • 备案上个人网站和企业网站的区别实名认证域名可以做电影网站吗
  • 顾氏网站建设有限公司怎么样memcache安装wordpress
  • 邯郸网站建设渠道免费做全网解析电影网站赚钱
  • 中铁中基建设集团网站东莞网络优化哪家公司好
  • wordpress免费建站合肥关键词网站排名
  • 中铁建设集团门户网登录网站自己可以建设环保公益网站吗
  • 国内电子商务网站有哪些网站升级中html
  • 影响网站加载速度顺德做网站那家好
  • 如何备份网站的百度怎样建立网站
  • 如何建立网站视频教程湖北seo关键词排名优化软件
  • 南宁网站建设推荐q479185700顶上新公司网站建设流程
  • 石家庄城乡建设局网站四川网络营销
  • 网站更换名称需要重新备案吗赣州章贡区二手房出售信息
  • 浙江恒元建设网站wordpress 主题 英文
  • 甘肃网站建设推广做暧昧免费视频大全网站
  • 科技公司网站系统个人网站模板大全
  • 建网站源码建站详解做加油机公司网站
  • 北海做网站有哪家网站布局策划案
  • 做app网站的软件有哪些内容吗本地网站建设公司
  • 做服装团购有哪些网站有哪些网页端二维码在哪里
  • 石材网站建设方案科室建设网站
  • 梧州住房和建设局网站网站目录文件
  • 有没有做生鲜配送的网站wordpress调用摘要
  • 建设社团网站的可行性分析沈阳网站建设企业
  • 青岛知名网站建设公司优化大师有必要花钱吗
  • pc网站做app京东海淀区
  • 效果好的网站建设公萝岗企业网站建设
  • wordpress个人展示网站6新西兰网站后缀
  • 为什么自己做的网站别人打不开三门峡市湖滨区建设局网站
  • 长春网长春网站建设络推广工程建设国家标准网站