Skip to content

Releases: LinXi-AB/Huffman_code

V1.3.0

Choose a tag to compare

@LinXi-AB LinXi-AB released this 12 Nov 09:28
abb4d6e

// 2024.11.12

/**
1.将哈夫曼编码封装为类
2.使用.at替代[]
3.将generateCodeIn修改为常量函数,表示不对对象进行修改
*/

V1.2.0

Choose a tag to compare

@LinXi-AB LinXi-AB released this 28 Oct 14:38
6fcfbef

// 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

Choose a tag to compare

@LinXi-AB LinXi-AB released this 23 Oct 14:52
6fcfbef

// 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以外文件代码可读性优化
- 功能逻辑优化
*/

V1.0.0

Choose a tag to compare

@LinXi-AB LinXi-AB released this 23 Oct 14:50
6fcfbef
Add files via upload