- 博客(11)
- 收藏
- 关注
原创 链表应用(快慢指针)
如果链表中存在环,那么快指针最终会追上慢指针,二者会在环中的某个节点相遇。第二步:找到环的入口节点:让慢指针回到链表的头节点,然后快指针和慢指针以相同的速度(每次移动一步)继续移动,它们再次相遇的节点就是环的入口节点。:设置快慢指针,每一次快指针走两步,慢指针走一步,直到fast为空或者fast的下一个节点为空,那么slow就相当于要删除中间节点的前置节点。重新让fast与slow指向头节点,fast比slow先走6步,然后同步走,就会在入口相遇。中间节点:奇数个没问题,偶数个节点时中间靠后的为中间节点。
2025-04-06 19:05:52
973
原创 C语言通讯录小项目(含分布详解)
10002051230这些宏定义用于设置通讯录的最大容量以及联系人各信息字段的最大长度。MAX 表示通讯录最多能存储 1000 条联系人信息,MAX_NAME 表示联系人姓名的最大长度为 20 个字符,以此类推。使用宏定义可以方便修改代码中的数值。int age;定义结构体用于存储单个联系人的信息,包括姓名、年龄、性别、电话号码和地址。新手在学习,上述代码如有不足请多多指教!
2025-02-15 19:49:45
1004
原创 字符串旋转和杨氏矩阵
有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从下到上是递增的,请编写程序在这样的矩阵中查找某数字是否存在。例如:给定S1=AABCD和S2=BCDAA,返回1。给定S1=ABCD和S2=abcd,返回0。写一个函数判断一个字符串是否为另一个字符串旋转之后的字符串。时间复杂度小于O(N);ab cdef//把一个串拆分成两部分。AABCD左旋一个字符得到ABCDA。AABCD右旋一个字符得到DAABC。ba fedc//左右两边各逆序。cdefab//再整体进行逆序。
2025-02-05 16:28:57
493
原创 利用qsort实现任意类型的冒泡排序
第一个参数:待排序数组的首元素地址。第二个参数:待排序数组的元素个数。第三个参数:待排序数组的每个元素的大小,单位是字节。第四个参数:是函数指针,比较两个元素的所用函数的地址-这个函数使用者自己实现。函数指针的两个参数是待比较的两个元素的地址。
2025-01-25 14:26:17
1692
原创 函数指针的用途(转移表,回调函数)
知识预备一、什么是函数指针函数指针的定义形式:返回值类型(*指针变量名)(参数列表)。例如:int (*p)(int ,int)二、利用函数指针进行改进1.转移表代码如下(示例):2.回调函数回调函数的定义:回调函数是指被作为参数传递给另一个函数,并在该函数内部被调用的函数。理解:回调函数就像是你请别人帮忙做事,做完后让他给你一个反馈。在编程中你写了一个函数A,这个函数A要做的事情可能需要依赖另一个函数B的结果。但是函数A不知道函数B什么时候能完成工作,所以就把函数B当作参数传给函数A,让函
2025-01-20 17:36:20
346
原创 让人眼前一亮的C语言字符串复制代码优化(assert,const)
在c语言中assert是一个宏,主要功能是验证一个表达式是否为真,真(非0),程序正常执行;表达式值为假(0),程序终止运行,并输出诊断信息。使用assert需要<assert.h>头文件。:const是一个关键字,主要用于定义变量,用const修饰的变量不能更改。以下是通过函数定义的方法实现字符串复制,但与代码一不同的是。
2024-12-23 14:33:41
430
原创 C语言跳台阶(跳2级和3级问题)
我们常见的题目是一只青蛙一次可以跳上1级或2级台阶,求跳上n级台阶有多少种跳法。那么如果青蛙一次能跳上2级或3级台阶,其跳上n级台阶共有多少种跳法呢?青蛙跳台阶不仅能一次跳1级或2级,也可以一次跳2级或3级,以上是我的思考,如有问题还帮忙指出,一起进步。
2024-12-22 11:40:45
452
原创 (超全)c盘不花钱怎么扩容?c盘空间不足怎么办?
新手拿到电脑,面对C盘空间不足,又不想花钱买硬盘或者请专业人员扩容,应该怎么办?以下是我(一名穷学生党)在2024年高考毕业刚拿到电脑后,囊中羞涩,研究了好几天突然想到的方法,当然网上有,但是当时并没有发现,搜索到的全是清理c盘的方法,故我写下此文章希望帮助同样情况的人,但是此方法并非真正给电脑扩容,只是把其他地方的空间让给更重要的c盘,如有不足之处还请多多指教。
2024-12-21 14:27:15
4239
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅