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

重庆网站建设 熊掌号阿里巴巴网站怎么做全屏大图

重庆网站建设 熊掌号,阿里巴巴网站怎么做全屏大图,申请建设网站经费申请,网站没有索引量是什么意思程序示例精选 哈夫曼编码实现文件的压缩和解压 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《哈夫曼编码实现文件的压缩和解压》编写代码,代码整洁,规则&#xff0…

程序示例精选
哈夫曼编码实现文件的压缩和解压
如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!

前言

这篇博客针对《哈夫曼编码实现文件的压缩和解压》编写代码,代码整洁,规则,易读。 学习与应用推荐首选。


运行结果


文章目录

一、所需工具软件
二、使用步骤
       1. 主要代码
       2. 运行结果
三、在线协助

一、所需工具软件

       1. VS2019, Qt
       2. C++

二、使用步骤

代码如下(示例):


#include<iostream>
#include <fstream> 
#include<map>
#include<queue>
#include <string>
using namespace std;
// 二叉树结点
struct HuffmanNode {HuffmanNode* lChild = nullptr;   //左孩子,一定要初始化,否则就会出很麻烦的问题。HuffmanNode* rChild = nullptr;  //右孩子char Data = '#';    //存储的字符int Weight;   //构建结点的时候存储权重,即频率HuffmanNode(char Data, int Weight) {this->Data = Data;this->Weight = Weight;}HuffmanNode() {};
};
// 自定义HuffmanNode比较函数
struct HuffmanNodeCompareWeightGreater
{bool operator() (const HuffmanNode *a, const HuffmanNode *b){return a->Weight > b->Weight;	// 小顶堆}
};class HuffmanTree {HuffmanNode* root;map <char, string> HuffmanMap;  //存储了对应字符和编码的map,解压的时候用与对照还原。map <char, int> OriginMap; //用于构建哈夫曼树之前统计频率所用,存储的是字符和对应的频率//字符频率统计,并存入最初的(字符-编码)map中void GiveWeight(char str);//构建哈夫曼树,void CreateHuffmanTree();//文件读取,并统计字符和频率以此来构建OriginMapvoid ReadFile();//遍历哈夫曼树所得到的字符以及编码得到新的映射,以字符串s形式存储处理后的Huffman编码void DisplayHuffmanTree(HuffmanNode* Temp, string s);//Pre为先序遍历,用来检验生成的树是否正确void Pre(HuffmanNode* p);
public:HuffmanTree() {root = new HuffmanNode();}//文件压缩并写入,对应着源文件和HuffmanMap中的编码一个一个的输出到新的文件void ZIP();//文件解压,void UNZIP();};//构建哈夫曼树,
void HuffmanTree::CreateHuffmanTree() {//遍历原始的map并根据其键值对逐一构建结点priority_queue<HuffmanNode*, vector<HuffmanNode*>, HuffmanNodeCompareWeightGreater> HuffmanQueue;map<char, int>::iterator it = OriginMap.begin();while (it != OriginMap.end()) {//这个每循环一次就取出一组键和值char ch = it->first;int frequency = it->second;HuffmanNode *temp = new HuffmanNode(ch, frequency);  //构建结点,ch即为每个节点存储的字符int main() {HuffmanTree hfTree;hfTree.ZIP();hfTree.UNZIP();
}

运行结果

三、在线协助:

如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助!

1)远程安装运行环境,代码调试
2)Visual Studio, Qt, C++, Python编程语言入门指导
3)界面美化
4)软件制作

当前文章连接:https://blog.csdn.net/alicema1111/article/details/132666851
个人博客主页:https://blog.csdn.net/alicema1111?type=blog
博主所有文章点这里:https://blog.csdn.net/alicema1111?type=blog

http://www.yayakq.cn/news/473635/

相关文章:

  • 做网站的公司 杭州竞价推广与seo的区别
  • 做网站和百度推广有什么不一样网站开发文件
  • 浙江省住房建设厅网站网络推广服务投诉
  • 简约风格网站建设如何开发一个视频网站
  • 怎样建设电影网站wordpress ck插件
  • 珠海制作企业网站wordpress邮件发送不出去
  • phpcms可以做哪些网站网站建设 技术 哪些
  • 域名商的网站有那些网站做平面设计订单
  • 网站推广话术与技巧网站开发的教学视频教程
  • 婚纱摄影网站的设计思路wordpress翻页函数
  • 网站上传文章网站seo完整seo优化方案
  • 中国那些企业做网站做得好定制开发app软件
  • 在网站做推广属于广告费吗国内设计网站
  • 网站导入链接河南最近的新闻
  • 建网页还是网站美食网站开发的意义
  • 专注新乡网站建设免费模板网站word
  • 设计网站源代码中国建盏logo
  • 网站网站建设网页设计微信最火的公众号排行
  • 河间市做网站价格国外在线网站建设平台
  • 重庆住房城乡建设厅官方网站wordpress标签使用方法
  • 新网站建设的流程做公司官网步骤
  • 工厂采购信息网杭州百度整站优化服务
  • 合肥做微网站seo服务公司招聘
  • 别人做的网站如何要回服务器网站建设相关博客
  • 网站建设进度报告蓝色系列的网站
  • 做网站和做网页有什么区别网站开发实用技术
  • 攀枝花网站怎么做seo邢台做移动网站找谁
  • 雄安网站建设机构织梦dedecms资讯文章类网站模板
  • 深圳品牌建网站东莞松山湖华为招聘信息
  • 网站开发公司资质做网站的合作案例