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

池州市建设厅官方网站免费网站制作成品

池州市建设厅官方网站,免费网站制作成品,凡科小程序真的免费吗,wordpress 插件 浮动小人程序示例精选 哈夫曼编码实现文件的压缩和解压 如需安装运行环境或远程调试,见文章底部个人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.mmbaike.com/news/98033.html

相关文章:

  • wordpress主题开发网站投放广告的网站
  • 网站托管服务协议兰州seo优化公司
  • 嘉兴制作网站软文是什么意思?
  • 建设一个班级网站的具体步骤网址浏览大全
  • 高端平面网站常见的网络营销方式有哪几种
  • 营销型网站策划seo用什么工具
  • 用别人的电影网站做公众号天津百度推广网络科技公司
  • 沭阳建设网站广告代理公司
  • 网站建设费用应该开专票还是普票优化seo排名
  • 做奢侈品网站有哪些百度推广退款投诉
  • 哪里网站备案百度网页收录
  • 做网站前的准备工作网站推广优化设计方案
  • 域名注册哪个好360seo
  • 住房建设部投诉网站如何建立一个网站
  • 高端的赣州网站建设谷歌代理
  • 电影网站如何做不侵权广州关于进一步优化疫情防控措施
  • 好用的网站后台管理系统推广网址
  • 常州网站建设培训免费的seo网站
  • 网站建设链接友情链接也称为
  • 打开一张图片后点击跳转到网站怎么做北京整站线上推广优化
  • wordpress b2c建站百度收录提交工具
  • wordpress远程图片本地化插件百度网站关键词优化
  • 郑州市做网站公司a汉狮网店推广联盟
  • 服务器搭建网站用什么系统站长工具怎么关掉
  • 网站开发属于哪一类有哪些免费推广网站
  • 企业网站建设感想品牌运营策划
  • 网站改版 信科网络google海外版
  • 网络规划设计师的成就seo关键词优化服务
  • 邯郸做移动网站找谁年度关键词有哪些
  • 为什么建设营销型网站世界比分榜