Releases: LinXi-AB/Huffman_code
Release list
V1.3.0
V1.2.0
// 2024.10.28
// 本次修改对函数逻辑进行了优化,使代码更加简单易用,易于维护
/**
-
1.对generateCode函数进行优化,将传入参数个数由3个优化为1个
-
2.bug修复:当不传入字符串时报错
-
3.将#ifdef更改为#progma once
-
4.将有参数的构造函数声明为explicit
-
5.引入显式默认构造函数对huffmantree初始化
-
6.函数名意义优化:setleftchild->setleftchildto(xxx)
-
7.函数的const修饰完善
-
8.学到的好习惯:每次对代码进行修改时都需要备份一份,便于写崩了回溯
-
未解决的问题:内存管理,智能指针
*/
V1.1.0
// 2024.10.23
// 本次修改对main.cpp代码的可读性进行了优化,以下是具体的优化内容
/*
1.以遵循"字面编程"为原则, 删除了不必要的注释, 优化了变量名增加代码描述性
2.修改变量名以提高可读性
- huffman_queue -> frequency_priority_queue,
- frequency_table -> char_frequency_map
- pair -> [key, value],使用c++17的结构化绑定,避免了.first的可读性差
- decode_map -> code_to_char_map, 更加具体, 将容器中的内容显示出来
- decoded_char = it->second, 定义新变量decoded_char避免->second可读性差
- 自变量命名更加浅显易懂
3.疑似解决的问题
- 1>BTree\x64\Debug\FrequencyCompare.obj : warning LNK4042: object specified more than once; extras ignored,将c++标准切换为20好像解决了
4.未解决的问题
- 内存管理,是否需要智能指针
- 中文乱码问题
- huffmantree.generatecode函数如何减少参数传入
- main.cpp以外文件代码可读性优化
- 功能逻辑优化
*/