- 博客(18)
- 收藏
- 关注
原创 环形链表判断入环结点
第二种找到快慢指针的相遇点。定义快指针一次走两个结点,慢指针一次走一个结点。两个指针相差一步,所以一定会相遇。快指针是慢指针速度的两倍,推理得快指针从相遇点走n圈和慢指针走到相遇点花相同的时间。快指针从相遇点走也一定会和慢指针从头走在入环结点相遇。1.判断环形链表入环的结点,有两种方法。第一种,由于创建链表在内存申请空间由低到高,那一定存在一个结点的next存放的地址比结点的地址小。
2024-06-04 19:23:43
356
原创 合并两个链表
将两个升序的链表合并成一个升序的链表并要求不改变原来的相对位置。可以用带哨兵位的头节点来做,就是通过创建一个结点,结点的next置空,将两个链表较小值放入头节点。这样就避免了判断头指针的问题。也可以通过直接链接两个链表,要判断头指针会麻烦很多。
2024-06-03 19:39:08
325
原创 位段内存分配
一次开辟一个字节位段冒号后面表示成员所占比特位,按顺序一个字节占满则开辟一个新的字节,d不会用ab开辟的第一个字节而是单独开辟一个字节。成员在使用内存的时候默认从右向左写入。
2024-05-21 22:08:46
118
原创 数组传参和指针数组
数组名表示的并非整个数组,如果是那样c = a表示将整个数组复制到一个新的数组,但这样做是无效的传参,实际被赋值的是一个指针的拷贝。&a的类型为int(*)[5],即是数组指针,其长度是数组的长度。&a是数组首元素的地址,强制类型转化为(int *),即为整形指针。test1和test2两种写法都是可行的传参,二级指针意为通过函数通过指针访问一维数组首元素地址集合的指针数组。viod print内部的arr即arr数组首元素地址,int表示数组内部元素的类型。
2024-05-14 17:47:27
200
1
原创 定义局部变量很重要
数字的位数(n)是每个数字都要求的所以在第一个for循环初始化,一个数字的n次方(pow)要在加入(sum) 后重置,在第二个while循环初始化。要输出的数(m)和数字的位数(n)不能被改变,所以赋值给(tmp)和(a)。这道题要求 求出0~100000之间的所有“水仙花数”并输出。“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”。局部变量很多的时候应该考虑自身的值是否要被传递到下一个循环或者函数里面去。
2024-04-24 18:56:59
148
原创 函数递归已经显示的部分重复展开导致栈溢出
在实现扫雷小游戏的过程中打算通过递归实现一个函数,其功能是让数字'0'附近的八个数字显示出来,且如果这八个数字其中有’0‘则会重复函数的功能。修改之前没有考虑’0‘本身任然会出现在下一个’0‘的八个数字内导致无限递归,加入限制条件后解决。
2024-04-17 22:52:46
167
1
原创 多重for循环也可以用return跳出
通过返回的字符赋值给“ret”来判断是否跳出落子部分循环。字符型函数内部多重for循环仍可用return返回字符。break只跳出一层循环。
2024-04-16 20:41:15
258
1
原创 scanf_s函数““里面有空格或者“\n“的时候要输入两次
这是一个猜数字的游戏,菜单选择界面和猜数字界面一共两次输入,答案由srand,rand,time函数生成,如果输入错误有提示。scanf_s函数的""里面有空格或者"\n"就会导致输入数字的时候要输两遍。
2024-03-28 18:06:51
195
原创 scanf函数输入字符要用单引号不然会报错
/ printf("好offer\n");//scanf函数输入字符型要用单引号。// printf("好好学习(y/n)");// printf("卖地瓜\n");
2024-03-22 22:06:15
189
原创 服務器管理器下載
https://learn.microsoft.com/zh-cn/training/modules/describe-windows-server-administration-tools/4-list-remote-server-administration-tools
2023-08-20 18:38:03
67
1
空空如也
ipv4配置改不了,显示出意外
2023-09-04
屏幕有问题,不懂这方面,求答
2023-09-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人