自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 单一函数只做单一事(相似度匹配有感/库函数避雷)

字符函数使用过程中遇到的坑

2024-03-24 10:39:43 195

原创 如何判断一篇英文文章中有多少个单词?

3、得到所有单词组成的间隔数,间隔+1即为文章单词总数。1、计算文章中有多少个空格(连续空格记作一次);2、减去文章头部和尾部的空格(如果存在的话);

2024-03-19 16:51:03 209

原创 利用子类化技术拦截win32窗口各种消息(包括但不限于鼠标键盘消息)

在您编写的子类化函数中,根据需要处理不同的消息。您可以通过在子类化函数中调用原始窗口过程来确保编辑框正常工作,同时在必要时处理您关心的鼠标消息。: 首先,您需要编写一个子类化函数,该函数将用于处理编辑框的消息。这个函数通常会拦截并处理您感兴趣的消息,比如鼠标消息。函数来设置编辑框的新窗口过程为您编写的子类化函数。在设置时,记得保存原始的窗口过程地址以便后续调用。: 在窗口程序中找到编辑框的句柄(HWND),然后使用。

2024-03-17 14:50:35 548

原创 C语言文件操作(fputs() 和 puts() 有两个小区别)

但是也有例外,比如使用 fgets() 时指定了读取的长度,如只读取 5 个字符,事实上它只能存储 4 个字符,因为最后还要留一个空间给 ‘\0’,而你却从键盘输入了多于 4 个字符,那么此时“敲”回车后换行符就不会被 fgets() 存储。数据都没有地方存放,哪有地方存放换行符呢!因为使用 gets() 时,gets() 会将回车读取出来并丢弃,所以换行符不会像 scanf 那样被保留在缓冲区,也不会被 gets() 存储;1.puts() 只能向标准输出流输出,而 fputs() 可以向任何流输出。

2024-03-03 15:14:55 405

原创 C++学习路线

C++是一种面向对象的、通用的、静态类型的编程语言,它是C语言的一种扩展。C++语言支持多种编程范式,包括面向对象编程、泛型编程和过程式编程等,因此具有很高的灵活性和可扩展性。C++相对于其他高级语言(比如 Java)来说,更加层,因此具有高性能、可移植、可重用等优点,被广泛应用于系统开发、嵌入式系统、服务端开发、游戏开发图形学音视频外理 全融分析等领域。C++标准语法的发展也是非常快的,目前最新的标准都到 C++ 20 了!

2024-02-29 12:47:53 693

原创 漫谈C与C++(《Effictive C++》/关于函数重载)

最近浏览《Effictive C++》,突然发现:C语言不支持函数重载,C++能够支持这一特性。确实有点颠覆认知。看有关C++的书籍多一点的缘故吧!在 C++ 中,函数重载是指可以定义多个同名函数,但它们的参数列表必须不同(包括参数类型、参数个数或参数顺序)。通过函数重载,我们可以使用相同的函数名来实现不同的功能。函数名相同:在函数重载中,函数名必须相同。参数列表不同:函数重载通过参数列表的差异来区分不同的函数。参数列表包括参数的类型、个数和顺序。

2024-02-20 12:56:26 415

原创 数据结构第十六天(二叉树层序遍历/广度优先搜索(BFS)/队列使用)

二叉树的层序遍历可以使用广度优先搜索(BFS)来实现。具体步骤如下:创建一个队列 queue,并将根节点入队。当队列不为空时,重复执行以下步骤:a. 弹出队头元素,并访问该节点。b. 如果该节点有左子节点,则将其左子节点入队。c. 如果该节点有右子节点,则将其右子节点入队。当队列为空时,说明已经遍历完整个二叉树。

2024-02-17 20:30:51 970

原创 C/C++如何把指针所指向的指针设为空指针?

实践出真知,指针对于初学的友友来说,头都要大了。喵喵一直遵循在实践中学,在学习中实践,相信你也会有所得!

2024-02-16 21:52:44 549

原创 C++delete的使用/指针操作/内存/delete后该指针是否为空

C++在使用 delete 或 delete[] 后,指针本身不会变为 nullptr,它仍然保留之前的值。

2024-02-15 22:35:14 490

原创 C++为什么在类中使用free()函数会报错?

如果你在类中使用free函数,会出现编译错误,因为 free是一个C语言函数,而类中的成员函数是C++语言的,需要使用C++的方式来进行内存管理。

2024-02-15 20:52:17 512

原创 C++的继承(两个类互相继承/单个类继承/真实案例分享/心得体会)

那么,关键问题来了,在这两个类中,队列中存储节点的类型定义在新类(class BINARYTREE)中,而新类(class BINARYTREE)又要使用队列这个类所有的元素和函数。在整个编码过程中,利用了前期写的队列,属于一个类,今天又创建一个新类(class BINARYTREE),。两个类双重继承,其实和单个类继承是差不多的,必须将其中一个 类最先声明一下,否则编译器会出现未声明的类型,从而报错。从根节点开始,逐层访问二叉树的节点,同一层中的节点按照从左到右的顺序被访问。剩下一个类的继承同上。

2024-02-14 21:49:00 994

原创 数据结构第十五天(树的存储/孩子表示法)

最近在知乎上看到的一个问题,也许,短暂的离别,只为更好的相遇!2024,友友们,龙年快乐,新的一年,祝愿码上升薪,一头黑发无烦恼。树的存储孩子表示法是一种常见的树的存储方式,也被称为多重链表表示法。这种方式是通过记录每个节点的所有子节点来实现的。具体地,对于每个节点,它的所有子节点都被保存在一个链表中,这个链表中的每个元素都指向该节点的一个子节点。如果节点没有子节点,则该链表为空。同时,该节点还需要保存它的父节点的指针,以便能够在需要时回溯到父节点。

2024-02-11 16:35:21 593

原创 win32编程系统BUG(Win32 API中的WM_SETTEXT消息)

由于频繁使用Win32 API中的。消息,导致内存占用直线上升。暂未找到有效解决方案。

2024-02-08 22:42:37 1148

原创 数据结构第十四天(树的存储/双亲表示法)

孩子,一定要记得你的父母啊!!!哈哈,今天开始学习树结构中的双亲表示法,让孩子记得归家的路,记得自己的父母是谁😉😉😉树的双亲表示法是一种常用的树的存储结构,它通过使用一个数组来表示树的节点,并且每个节点都包含了其父节点的索引信息。节点的数据域:用来存储节点的数据。父节点索引:用来存储该节点的父节点在数组中的索引。每一个节点我们可以这样表示:其中 data 是数据域,存储结点的数据信息。而 parent 是指针域,存储该结点的双亲在数组中的下标。

2024-02-08 14:24:42 640

原创 喵的一下午(分享今天的趣事)

喵喵我呀,就是喜欢乱按,把重启按钮按下,等待一会儿,红色信号灯依旧闪烁。突然手机已经无法联网了,喵喵顿时惶恐,十分忐忑,糟了,把信号弄没了。于是一顿操作,把网线拔下来,又重新插进去,把电源断开,重新启动。最后上知乎上查询了一波,出现这种状况,很有可能是光纤物理损坏,哈哈,那这就不是喵喵我的原因啦!每一个小小的功能,看着挺简单的,其实,挺烧喵脑的。喵喵我呀,起的很晚。

2024-02-07 21:41:44 402

原创 数据结构第十三天(树)

2010年一部电影创造了奇迹,它是全球第一部票房到达 27 亿美 元,总票房历史 排名第一的影片,那就是詹姆斯·卡梅隆执导的电影 阿凡达)) (Avatar)。图6-1-1电影里提到了一 棵高达 900 英尺(约 274 米)的参天巨树, 是那个潘多拉星球的纳威人的家园,让人印象非常深刻。可惜那只是导演的梦想,地球上不存在这样的物种。

2024-02-06 12:26:03 1165 1

原创 数据结构第十二天(队列)

我本可以忍受黑暗,如果我不曾见过太阳。队列(Queue)是一种常见的数据结构,遵循先进先出(FIFO,First-In-First-Out)的原则。类比现实生活中排队等候的场景,队列中的元素按照加入的顺序排列,从队列的一端(队尾)添加元素,从另一端(队头)取出元素。入队(Enqueue):将元素添加到队列的末尾。出队(Dequeue):从队列的开头取出元素,并将其从队列中删除。除了入队和出队操作,队列还提供了其他一些常用的操作,如获取队列长度、判断队列是否为空、获取队头元素等。

2024-02-04 23:28:22 452

原创 数据结构第十一天(栈)

今天简单的实现了栈,主要还是指针操作,soeasy!友友们如果想存储其他内容,只需修改结构体中的内容即可。栈(Stack)遵循先进后出(LIFO,Last-In-First-Out)的原则。类比现实生活中的栈,我们可以将栈想象成一叠盘子,只能从顶部放入或取出盘子。入栈(Push):将元素放入栈的顶部。出栈(Pop):从栈的顶部取出元素,并将其从栈中删除。栈通常有一个指针,指向栈顶元素的位置。初始时,栈为空,指针指向空位置。进行入栈操作时,指针向上移动,指向新入栈的元素;

2024-02-04 18:36:52 454

原创 数据结构第十天(排序算法总结)

排序算法的学习可以告一段落了。但算法的学习永不停止。

2024-02-03 14:42:42 591 1

原创 数据结构第九天(堆排序)

哈哈,这个堆排序算法很久之前就已经敲过一遍了,时间一久,思路有点淡忘。今天重新看过一遍之后,又亲自撸代码,幸运的是,代码运行一次就成功了,没有任何逻辑错误而且结果也达到了预期效果。在最后,与大家共勉:你所走的每一步路,都算数。堆排序(Heap Sort)是一种基于比较的排序算法,使用二叉堆(Binary Heap)数据结构来帮助实现其排序过程。二叉堆可以被视为一颗完全二叉树,其中每个节点的值都不大于(或不小于)其子节点的值,这样的二叉堆分别称为最大堆(Max Heap)和最小堆(Min Heap)。

2024-02-02 22:06:44 1205 1

原创 数据结构第八天(归并排序)

今天,想了很多。当两个数组长度一样时,当两个数组长度不相等时,归并的时候又需要注意哪些情况。所以,当你看到一个人在那儿待着一动不动,静静坐着,请不要打扰他,他也许正在思考代码如何实现呢!今天实现的内容是:如何将两个有序的数组归并到一个数组中。归并的前提是,这两个数组中的元素都是有序的。以下内容都以此为前提展开讲解。

2024-02-01 19:56:55 368 2

原创 数据结构第七天(简单选择排序)

哈哈,又到一天一更新,时间过的总是如此快,算一算,今天已经是第七天连续更新了。每写一篇短文,既是对今天所学算法的回顾总结,也算是对每天生活的一个记录,一个见证。简单选择排序法 Simp Selection Sort 就是通过 n-i次关键字间的比较,从 n-i+1个记录中选出关键字最小的记录,并和第 i(1

2024-01-31 15:43:48 367 1

原创 数据结构第六天(快速排序)

最好的期待是未来可期,最好的相遇是开学有你。想开学啦!!!

2024-01-30 19:13:42 470 2

原创 数据结构第五天(冒泡排序)

冒泡排序这个算法 的思路比较简单,也较容易理解。冒泡排序 (Bubble Sort )一种交换 排序,它的基本思想是:两两比较相邻记录的 关键字,如果反序则交换,直到没有反序的记录为止。冒泡的实现在细节上可以有很 多种变化,下面就用图示演示一下冒泡的过程。排序,当然要有无序的数据啦,还是使用中的代码生成我们需要的数据:进行第一轮两两比较:第一轮两两比较之后,开始第二轮两两比较:。。。。。。

2024-01-30 10:00:00 328 2

原创 数据结构第四天(希尔排序)

今天是插入排序的最后一个了,希尔排序。哈哈,这可不意味着数据结构结束了,明天将开启新的篇章:交换排序。学习算法的过程,并不总是坦坦大路,只要友友们喜欢,喵喵我呀,一定会分享每天所得,每天的点点滴滴,以及喵喵与代码的情仇恩怨。

2024-01-29 15:54:37 1225 1

原创 数据结构第三天(折半插入排序)

理解折半插入排序的基本思路之后,便开始默默敲代码的喵喵生涯。每次失败的背后,总是有原因的。按照最初的思路,转换成代码,运行之后,结果总是不对。我想的应该是没有问题的呀!!!哎,大半个下午,一直按照错误的思路,无论怎么调试,也不见成功。最后,按照代码运行的过程,在平板上手动模拟运行过程。哈哈,终于发现了问题,原来是左右边界出现了问题。发现原因之后,喵喵我呀,一次就更正过来了。今天就直接附上个人写的源码吧!!!

2024-01-28 19:19:16 355 2

原创 数据结构第二天(直接插入排序/内存申请/指针操作)

首先,我们利用昨天的代码生成五个随机的整数(:数组对应中1,2,3的数值已经是有序的,接下来把361插入到前面有序数列当中,令middle=361,middle与前面有序数列中的值依次从后往前比较,寻找到合适的位置,满足a

2024-01-27 19:30:54 319 1

原创 数据结构第一天(生成1000以内的随机数自动填充数组)

放假这几天,在家待着感到无聊,就来学习了。继续学习数据结构啦。

2024-01-26 18:21:31 411 3

原创 形参与实参,你分清了吗?

现在回想起来,确实没有教什么,当时老师把C语言三大循环语句讲完,就结课了,后面还有数组啊,结构体,数据存储,按位或与非,以及内存的申请。依稀记得,最初开始学习编程,从基本的语法开始,点点滴滴的积累,从萌新变成了小白,到现在能够写出一些小程序,做一做益智小游戏。学习的过程,遇到许多无法理解的词语,奇奇怪怪的BUG,弹出意想不到的结果。上面的函数中,我们传入了实际运行需要的参数4和8,此时的参数4,,8叫做实参。

2023-09-15 20:05:01 35

原创 【无标题】二叉树遍历(递归与非递归源码)

/std::cout << "指针xiangjian" << Top - Button << std::endl;//std::cout << "指针xiangjian" << Top - Button << std::endl;std::cout << "指针失败" << std::endl;std::cout << "指针成功" << std::endl;std::cout << "指针失败" << std::endl;std::cout << "指针成功" << std::endl;

2023-06-08 18:47:44 40 1

原创 栈的优化(进栈出栈无需担心溢出)

栈的优化(进栈出栈无需担心溢出)

2023-06-08 11:56:53 52 1

原创 C语言文件操作的封装

【代码】C语言文件操作的封装。

2023-04-24 22:38:27 136

原创 C++继承代码实现+细节解释

【代码】C++继承代码实现+细节解释。

2023-03-29 23:16:43 62

原创 文件操作(源码)

【代码】文件操作(源码)

2023-03-06 19:23:18 60

原创 线性表:栈的实现(源码)

【代码】线性表:栈的实现(源码)

2023-03-02 12:47:31 42

原创 二叉树相关操作(源码)

二叉树相关操作(源码)

2023-03-01 22:01:06 39

原创 欢乐屋问题反馈

2月24号下午,欢乐屋在顺的电脑上运行的久一点,整个程序完全崩了,指的是窗口绘制有问题,不能够正常绘制,直接出现白板。动态图后期直接不显示,其他的按钮还能够点击。原因:前期五子棋这一部分没有处理好,申请的相关句柄没有及时释放,随着使用时间的延长,不断的申请内存而没有释放,导致后期程序崩溃。(象棋这一部分应该也存在这个问题)2月25号上午,在没有相关编译器的条件下,欢乐屋可以直接在其他电脑上运行。 同时一些问题也充分暴露出来,同样的俄罗斯方块棋盘图,在顺的电脑屏幕上恰好完整显示出来的,但在另一台电脑

2023-02-25 12:23:44 53

原创 链表:队列的实现(优化后)

优化后的队列:实际数据个数大于开辟的元素个数时,链表会自动扩充队列的长度,再也不用担心队列被填满了。

2023-02-21 11:36:27 60 1

原创 链表:队列的实现

闲来没事,自己使用链表实现的队列。有不足的地方还请指正。

2023-02-20 14:17:27 82 2

空空如也

空空如也

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

TA关注的人

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