![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言学习
文章平均质量分 84
拨云亦见日
乌云总会过去,当太阳出现的时候,你是否做好了准备?
展开
-
最小k个数
设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。原创 2024-08-31 23:32:52 · 409 阅读 · 0 评论 -
设计循环队列
循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。// 返回 false,队列已满。// 返回 true。// 返回 true。// 返回 true。// 返回 true。// 返回 true。// 返回 true。原创 2024-08-30 16:27:51 · 1220 阅读 · 0 评论 -
链表分割(C语言)
如上链表,x等于4,则需要将小于4的结点放到左边,且不改变其本身的相对顺序,即变成3>>2>>1。将大于4的放到右边,不改变相对顺序,即5>>6>>7。通过给出的分割点,将链表分割为左右两个链表,即大于4的放一边,小于4的放一边,等于4的结点随便放哪一边都行。,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。cur为遍历原链表指针,用两个新的头结点去尾插合法满足条件的结点。所以最后得到的新链表为3>>2>>1>>5>>6>>7。原创 2024-08-28 13:53:55 · 680 阅读 · 0 评论 -
合并两个有序链表
此时比较list1和list2绿色指针处的值的大小,取小的,相等就随便取一个,这里1 = 1,我们取list2的1尾插入head链表中。蓝色圆形为头节点,每条单链表定义了一个绿色的指针,头节点head处定义了一个tail的指针,记录尾插末尾。此时list2为空,剩下只需要将tai->next=list1将list1剩余元素连在一起即可。新链表是通过拼接给定的两个链表的所有节点组成的。list1的绿色指针为1小于list2绿色指针的3,则取1。3<4,取list2中的3。2<3,取list1的2。原创 2024-08-27 20:49:18 · 402 阅读 · 0 评论 -
单链表反转(C语言)
给你单链表的头节点head,请你反转链表,并返回反转后的链表。[2,1]原创 2024-08-27 12:51:30 · 713 阅读 · 0 评论 -
数组形式的整数加法(大数运算)
大数运算,顾名思义,就是很大的数值的数进行一系列的运算。我们知道,在数学中,数值的大小是没有上限的,但是在计算机中,由于字长的限制,计算机所能表示的范围是有限的,当我们对比较小的数进行运算时,如:1234+5678,这样的数值并没有超出计算机的表示范围,所以可以运算。但是当我们在实际的应用中进行大量的数据处理时,会发现参与运算的数往往超过计算机的基本数据类型的表示范围,比如说,在天文学上,如果一个星球距离我们为100万光年,那么我们将其化简为公里,或者是米的时候,我们会发现这是一个很大的数。原创 2024-08-27 15:11:05 · 959 阅读 · 0 评论 -
字符操作函数和内存操作函数
strtok函数的第一个参数为 NULL ,函数将在同一个字符串中被保存的位置开始,查找下一个标记。strtok函数的第一个参数不为 NULL ,函数将找到str中第一个标记,strtok函数将保存它在字符串中的位置。strtok函数会改 变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改。strtok函数找到str中的下一个标记,并将其用 \0 结尾,返回一个指向这个标记的指针。如果源字符串的长度小于num,则拷贝完源字符串之后,在目标的后边追加0,直到num个。原创 2024-08-24 22:10:10 · 639 阅读 · 0 评论 -
通讯录优化(动态内存管理+文件操作详解)
在动态内存空间的开辟和文件操作中存在诸多细节,比如我在写文件基于动态内存的文件操作通讯录的时候在每次开辟新空间开辟到4个的时候,第五个就会出现卡死现象,导致输入文件内的内容全部乱码,最后发现是初始化的时候需要先判断预置的空间是否能存储文件中读入的内存,如果不够则需要先开辟新的内存供给存储。原创 2024-08-23 19:40:14 · 1127 阅读 · 0 评论 -
通讯录(C语言实现)
1.添加联系人信息;2.删除联系人信息;3.查找联系人信息;4.修改联系人信息;5.显示联系人信息;6.排序联系人信息;0.退出程序。原创 2024-08-21 22:44:17 · 758 阅读 · 0 评论 -
C语言扫雷游戏实现
扫雷》是一款大众类的益智小游戏,于1992年发行。游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。原创 2024-08-09 22:17:29 · 795 阅读 · 0 评论 -
三子棋详解
本次代码虽然功能实现没什么问题,但是代码比较冗余,更待优化。在撰写本文的过程中,可能未能传达我所有的初衷与见解,这主要归咎于我个人在表达上的局限性。为此,希望每一位读者能够理解和包容。若您在阅读过程中发现任何表述不清或词不达意之处,非常欢迎您在评论区留下宝贵的问题、意见或建议。同时,对于文中涉及的代码部分,我也持开放态度接受大家的审视。如果您发现任何潜在的错误、改进空间或优化建议,请不吝赐教。我们共同的学习与讨论,将推动知识的进步与共享😆😆。原创 2024-08-08 20:39:51 · 1222 阅读 · 0 评论 -
汉诺塔问题(C语言)---图文结合超好理解
相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如图1)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。原创 2024-08-07 20:15:08 · 900 阅读 · 0 评论 -
Leetcode---415.字符串相加(C语言)
转化为字符存入内存中,进位则参与后续运算,然后i,j同时向左移动一位,将所指向的字符串的其中一位相加并加上刚才算出来的进位。去得到传入字符串的每一个字符,这是我们首先需要知道的一个点,其次,这是一个函数指针呀,所以我们最后要返回的就是一个分配了具体空间的一个元素的。由上述流程可知,最后得到的结果是反转的,如示例二得到结果为。i索引到NUM1所指向字符串最高位,j指向字符串。可以看到是给了我们一个函数指针的一个框架,其中。,此时需要写一个反转字符串的代码反转一下。,计算它们的和并同样以字符串形式返回。原创 2024-08-04 20:15:16 · 452 阅读 · 0 评论