- 博客(6)
- 收藏
- 关注
原创 数据结构实验:顺序表和链表
这里的两个链表已经有序,p和q分别遍历La和Lb,如果p小于q说明p在Lb中没有出现,如果相等则跳过p和q,如果p大于q,则需要单独q=q->next,因为不确定p是否在Lb中出现;如果i=1,那么第一次进入循环就需要删除链表的第一个结点,此时prev指向头节点,不是末尾,如果直接删除首元结点,当遍历到最后一个结点时,这个结点的next域为nullptr会导致访问空指针。这说明基准值太大了,真正的第 k小的数肯定在基准值的左边。遍历链表,然后把奇偶链表的位置分开,然后把偶节点的链表逆转,最后插入到奇链表。
2025-11-01 20:55:22
726
原创 头歌C语言实现图书管理系统--链表操作
在这里我们定义Book类型的结构体作为链表需要存放的数据,定义LNode类型的结点,同时把LNode* 重新命名为LinkList(以后使用 LinkList时需要注意它是指针类型)。在节点内部,有data和LNode* 两部分。
2025-09-20 22:03:06
798
1
原创 C++的控制台输入
cin.clear()可以清除状态,同时使用cin.ignore()清空缓冲区(cin从缓冲区中读取数据)在控制台输入的内容,是被暂时存到了缓冲区,对变量赋值时从缓冲区中读取相应的值,遇到空格就会结束第一次读取。cin.ignore()可以省略指定位数的数据,默认数值为1。如果被标记fail会影响后续的读取操作,将不再读取后面的数据。使用cin.ignore,省略掉小数点,所以num2为14。输入字符,不是int型,此时cin.good()的结果为0。std::cin>>变量1>>变量2>>变量3;
2025-07-17 16:17:45
258
原创 explict关键字
是 C++ 中的一个关键字,主要用于修饰构造函数和类型转换运算符,以禁止隐式类型转换,从而提高代码的安全性和可读性。而将构造函数加上explicit关键字限制后,t2无法初始化,t3正常运行。上面的代码 t2是隐式转换,t3是显示转换,二者可以正常运行。报错 :不存在从 "int" 转换到 "A" 的适当构造函数。
2025-04-24 23:51:14
222
原创 库函数—strtok
首先定义指针变量 ret, 接着进行循环,刚开始为ret = strtok(cp, sep),判断条件为ret!= NULL,处理为ret = strtok(NULL, sep)。从字符串cp开始,寻找sep的第一个元素,并且将cp中的这个位置记为'\0',这次返回 a(对应的地址)我们可以使用for循环来实现 ,strtok如果找不到对应字符就会返回NULL空指针。这里要注意,strtok会在对应位置添加一个'\0',所以要临时拷贝一份字符串。传空指针是为了从上次的保存位置开始寻找,这次返回 b。
2024-12-14 13:46:33
326
原创 自定义函数实现strlen
这是strlen的返回类型,是size_t无符号整数,因此,在模拟实现strlen时,我们也应该使用size_t作为自定义函数的返回类型;其次,定义一个指针标记字符串首元素的地址,循环后,使用字符串的最后一个元素的地址减去首元素的地址,就是字符串的元素个数。在自定义函数中,我们使用assert来确保所使用的指针不为空.在使用assert时要引用头文件首先是使用递归,以'\0'作为递归的结束,防止死递归。//arr为首元素的地址。
2024-12-12 23:27:50
181
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅