- 博客(13)
- 收藏
- 关注
原创 查找链式二叉树值为x的节点(详细无比)
没找到则开始遍历左子树,1的左孩子2也不是,继续找2的左子树,2的左孩子4也不是,继续找4的左子树.......直到遍历到NULL,返回NULL值到以8为节点的循环的ret1,此时8的左子树已经遍历完了,开始找8的右子树,为空,返回到ret2,此时返回NULL到4的ret1,再找4的ret2.......不断。需要注意的是,这里结构体成员包含自结构体指针变量,不能和typedef定义的BTNode重名,否则会疯狂报错。(如果在左子树找到了层层返回到函数结束就不用遍历右子树了):我要找的值是9,首先。
2024-08-28 18:09:20 347
原创 消失的数字三种解法(Leetcode面试题 )
这里注意题目中说明缺失的数字存在,所以最后一个数字消失需要单独讨论。按位异或数组中所有元素和0~n的所有数最后可得消失的数字,原理是。将0~n的数字累加然后减去数组中所有元素可得消失的数字。缺点是当数据量大时可能会。时间复杂度:O(n^2)空间复杂度:O(1)空间复杂度:O(1)空间复杂度:O(1)时间复杂度:O(n)时间复杂度:O(n)
2024-08-18 16:45:43 169
原创 c语言文件操作
通过该⽂件信息区中的信息就能够访问该⽂件。ANSIC 标准采⽤“缓冲⽂件系统” 处理的数据⽂件的,所谓缓冲⽂件系统是指系统⾃动地在内存中为。每个被使⽤的⽂件都在内存中开辟了⼀个相应的⽂件信息区,⽤来存放⽂件的相关信息(如⽂件的名。feof 的作用是:当⽂件读取结束的时候,判断是读取结束的原因是否是:遇到⽂件尾结束。数据在内存中以⼆进制的形式存储,如果不加转换的输出到外存的⽂件中,就是⼆进制⽂件。⽂件名(即文件标识)包含3部分:⽂件路径+⽂件名主⼲+⽂件后缀。字,⽂件状态及⽂件当前的位置等)。
2024-08-17 23:57:02 682 1
原创 旋转数组的三种解法
由于遍历至current回到原点就结束,因此a要为最小圈数,an就是n,k的最小公倍数,即b=lcm(n,k)/k,所以遍历的次数就是n/b即nk/lcm(n,k)(两数相乘除以两数的最小公倍数=两数的最大公约数)因此求遍历的次数就是求n和k的最大公约数。该方法为数组的翻转:我们可以先将所有元素翻转,这样尾部的 k%n 个元素就被移至数组头部,然后我们再翻转 [0,k%(n−1)] 区间的元素和 [k%n,n−1] 区间的元素即能得到最后的答案。这里的时间复杂度和空间复杂度都是O(n)(n是数组长度)
2024-08-17 17:08:45 436
原创 两个常用的C语言内存函数
其实超过⼀个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分 为⼤端字节序存储和⼩端字节序存储,下⾯是具体的概念: ⼤端(存储)模式:是指数据的低位字节内容保存在内存的⾼地址处,⽽数据的⾼位字节内容,保存 在内存的低地址处。⼩端(存储)模式:是指数据的低位字节内容保存在内存的低地址处,⽽数据的⾼位字节内容,保存 在内存的⾼地址处。上述概念需要记住,⽅便分辨⼤⼩端。
2024-03-18 14:27:33 351
原创 C语言指针完整总结!!!
指针的总结就到这里,指针是学好c语言的核心,还有很多大大小小的知识点和细节值得大家不断的学习,修炼好指针的内功!!!
2024-03-18 13:33:12 949 1
原创 (包可执行)扫雷游戏(高级版)完整版(C语言实现)万字!!!
刚开始我在想这个问题的时候,一直想用static关键词(static int win=0)把它放在ExplandDisplay函数中(这样能使win的值得到保留而不重复初始化),后来发现这样做只满足了第二个条件,变量win还是无法于FindMine函数中变化(因为。:如果坐标(a,b)的count值等于0(即坐标(a,b)周围没有雷),展开周围8个坐标后发现坐标(c,d)也是count值等于0,那么调用自身(即递归一次),展开周围8个坐标,这样的话会把原先的坐标(a,b)又展开一遍,这样就陷入了死循环。
2024-01-25 07:18:30 996 1
原创 如何以一个正常人的思维渐进过程实现编码扫雷游戏(初级版)
不能在具体的Setmine函数中放置此代码,会造成生成的随机数只有一个,原因是伪随机数的产生依赖种子,种子的时间间隔至少1s才能生成不同的随机数,放在一个循环中时,由于两行代码之间运行时间间隔不大,导致种子未发生变化,所以随机数未改变。,我们可以将不是雷的地方都设置为字符0,有雷的位置设置为字符1,而这属于第一个面板,是需要被隐藏的数据,因此我们还需要第二个被字符*填充的面板(初始界面。首先是创建游戏菜单,我们可以使用经典的switch语句编程菜单栏,输入1为开始游戏,输入0为退出游戏,结束程序。
2024-01-21 05:52:51 1136
原创 关于分支与循环的总结
顾名思义,分支在c语言中用来讨论情况,每个分支有其判断条件和执行语句循环就是在一定区域里面重复做某一件事,达到某种目的后跳出循环,否则为死循环一、分支部分1. if语句2.switch语句3.分支中一些常见的操作符二、循环部分1. while循环2. do-while循环3. for循环一、分支部分1.if语句2.switch语句3.分支中一些常见的操作符1. if语句这是if语句的基本形式默认在if和else。
2023-12-10 12:37:27 1015
原创 开启我的c语言学习之路
我打算在接下来的5个月里将c语言的基础打牢,透彻理解《c语言程序设计》(苏小红)的内容,并且练习自己的实操,逐渐接触不同的项目,提高实践能力与运用能力。在c语言这条路上不断深入,我相信c语言学习是很多其他语言以及技术的基石,现在我打开了这扇大门,进入了这条大道。我会结合网络资源(b站,csdn,牛客网,...)和书本,以及gitee的使用,一步一个脚印,深入学习。我是一名大一新生,因为高考成绩不佳被调剂无奈选择了转专业这条路,因而也开始了我的c语言学习之路。我最想进入的it大厂是网易。
2023-11-26 19:25:16 47 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人