自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 基于哈夫曼编码的文件压缩项目

文件压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对文件中数据进行重新组织,减少数据的冗余和存储的空间的一种技术方法。以下是我总结完成过程中注意的一些问题:1、创建哈夫曼树时,使用优先级队列来保存字符出现的频次信息时,优先级队列的比较方式需要自己进行给出,使用仿函数的方法让比较方式为每个节点中的权值。2、在使用结构体来创建哈夫曼树时,需要对+,>,==,!=,进行重载,重载的目的:让编译器知道权值中的count之间的比较方式。

2024-03-18 00:00:03 620 2

原创 C/C++的内存管理

C/C++内存管理的知识总结

2024-01-29 21:59:33 916 2

原创 C++三大特性之一:继承

C++三大特性之一:继承的知识点总结

2024-01-29 20:46:12 851

原创 类和对象(下篇)

C++类和对象的一些重要知识总结

2024-01-24 18:32:30 921 1

原创 类与对象(上篇)

类和对象入门总结

2024-01-08 21:44:33 888 1

原创 C++入门总结

C++较C语言的一些补充

2023-12-30 13:59:19 923 2

原创 带头双向循环链表的实现

带头双向循环链表增删查改的实现

2023-12-25 22:39:38 384 1

原创 无头单向非循环链表增删查改的实现

链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表的结构非常多样,以下情况组合起来就有8种链表结构:1. 单向或者双向;2. 带头或者不带头;3. 循环或者不循环。无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多。示意图://使用typedef便于后面改动单链表中储存的数据类型}SLTNode;

2023-12-19 22:44:21 358 3

原创 C语言解决撞色搭配(单身狗)问题

解决思路:将数组中所有元素异或在一起,将相同的元素换在一起,相同的两个数异或在一起结果为0,最终结果为两个单独出现的数异或在一起。再通过结果将两个单独数分离开来得到两组数,各自带着一个单独数,将两组中所有元素异或在一起,最后得到的两个结果就是两个单独数。解决思路:将数组中所有元素异或在一起,将相同的元素换在一起,相同的两个数异或在一起结果为0,最终结果为剩余的一个数。

2023-12-10 15:27:47 332 1

原创 C语言实现三子棋小游戏

三子棋的实现

2023-11-19 12:51:53 48 1

原创 C语言:程序的预处理、编译+链接

define reg register //为 register这个关键字,创建一个简短的名字;) //用更形象的符号来替换一种实现case //在写case语句的时候自动把 break写上。// 如果定义的 stuff过长,可以分成几行写,除了最后一行外,每行的后面都加一个反斜杠(续行符)。在define定义标识符的时候,最后不要加上;,在一些情况下会出现错误。return 0;

2023-11-17 20:24:12 24 1

原创 C语言文件操作

根据文件指针的位置和偏移量来定位文件指针。offset:偏移量origin:1. SEEK_SET:指针从起始位置开始偏移;2. SEEK_CUR:指针从当前位置开始偏移;3. SEEK_END:指针从结尾位置开始偏移。返回文件指针相对于起始位置的偏移量。让文件指针的位置回到文件的起始位置。也可以用fseek( pf, 0, SEEK_SET );让文件指针的位置回到文件的起始位置。

2023-11-15 22:12:31 17

原创 动态内存管理

这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。返回值的类型是void* ,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。如果参数size为0,malloc的行为是标准是未定义的,取决于编译器。malloc函数申请到空间后,直接返回这块空间的起始地址,不会初始化空间内容。程序不结束,不会主动释放空间,需要用free函数来释放空间。

2023-11-15 19:12:34 17

原创 C语言自定义类型:结构体、枚举、联合类型

int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。struct Stu //类型声明//名字int age;//年龄//初始化int data;//结构体嵌套初始化//结构体嵌套初始化位段就是二进制位。位段的声明和结构是类似的,有两个不同:1.位段的成员必须是 int、unsigned int 或signed int。2.位段的成员名后边有一个冒号和一个数字。

2023-11-13 22:22:59 17

原创 字符函数和字符串函数

C语言中处理字符和字符串的一些库函数的使用和注意事项。

2023-11-07 13:22:40 24

原创 数据在内存中的存储

比如保存1.01的时候,只保存01,等到读取的时候,再把第一位的1加上去。但是,我们知道,科学计数法中的E是可以出现负数的,所以IEEE 754规定,存入内存时E的真实值必须再加上一个中间数,对于8位的E,这个中间数是127;E全为0时:浮点数的指数E等于1-127(或者1-1023)即为真实值,有效数字M不再加上第一位的1,而是还原为0.xxxxxx的小数。E不全为0或不全为1时:浮点数就采用下面的规则表示,即指数E的计算值减去127(或1023),得到真实值,再将有效数字M前加上第一位的1。

2023-11-02 22:08:28 32

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除