- 博客(55)
- 收藏
- 关注
原创 --继承的使用--
此些截图都是来源于黑马程序员,我也只是把写文章当作我自己的笔记而已哈,所以写到我自己能够理解的程度就可以了。4.继承中同名静态成员处理(静态成员可以通过类名来访问父类)3.继承中的构造和析构顺序。继承中的同名成员处理。
2024-04-28 18:06:23 446
原创 运算符重载(1)
/如果这里用引用的话&operator++,这里会返回局部变量的引用,该函数调用完后temp被释放,后面再解引用后会造成非法操作了。//这里cout的函数类型是ostream,这里cout前加引用是为了保证cout的唯一,引用即给cout起别名的意思。//其实本质就是不用引用返回,每次返回的就是一个新对象,拷贝调用原则。//为了能够连续cout
2024-04-28 01:45:50 314
原创 友元函数(全局 类 成员函数)
我在敲这个代码时有一个思考,为什么一定要用指针呢,我又没有要改变变量的值,所以我去掉了指针,结果出现了超前引用的问题。cout
2024-04-27 00:49:15 536
原创 【无标题】getchar gets scanf
例如输入为"\nhello\n",也就是说,先输入一个空行,然后在第二行输入"hello"并回车。scanf按照它的读取原理,把第一个’\n’作为空白符忽略掉,然后读取字符串"hello",遇到第二个’\n’时输入结束,但是第二个’\n’会被scanf残留在缓冲区里。当用gets进行读取时,它遇到第一个’\n’,就找到了它的输入分隔符,停止继续输入,第一个’\n’被从缓冲区中读走了,缓冲区里剩下"= '\n')//不断接收字符,直到接收到'\n'!printf("请确认密码->Y/N\n");
2024-04-26 23:16:16 830
原创 相交链表的判断(leetcode)
思路二 :先不顾两条链表的长短,先走到尾结点的链表跳到另外一个链表的头节点,这样也实现了先走差距步的效果。两条链表难免会出现长度不一样的情况,先让长的链表先走差距步。思路一:先判断两个链表的最后一个结点是否相同,若相同,则会有结点。来自力扣题解中一位大神的思路!
2024-04-25 10:31:44 698
原创 链表的回文结构
将逆置后的链表与未逆置的链表挨个比较,若不同,则不对称。只要走到rmid或者A下一个结点为空时结束比较。这就是找链表中间结点,与逆置的结合问题。回文结构就是判断这个链表是不是对称的。右奇数链表的对称,也有偶数链表的对称。
2024-04-24 20:19:00 189
原创 反转链表(力扣)
步骤:将n2的next指向n1,再n1放到n2的位置,n2放到n3的位置,循环到最后一个指针的指向反转,此时n2为空,n3为未知区域,因此再n3移动时,要加一个if语句判空,不然代码会出现错误,最后头节点变为了n1,因此时返回n1结点。n1置空,n2置为头节点,n3置为头节点的下一个节点。思路:设三个指针,画图求解。
2024-04-24 18:28:48 379
原创 轮转数组(力扣)
时间复杂度(往往考虑最坏的情况)为O(n^2) (最坏情况下 K*M =(N-1)*N)先前n-k个逆置,在后k个逆置,最后整体逆置。
2024-04-24 10:45:15 549
原创 qsort排序
qsort的格式是数组元素的首地址,数组元素个数,数组成员的字节大小,以及比较的函数,这里传函数就是用到了函数指针。什么是函数指针,我在我写的文章中有提及过。
2024-04-18 20:48:32 346
原创 使用函数指针数组实现一个基本的计算器
这是数组指针的正确写法格式,数组指针就相当于给arr取了一个别名p,p存取了arr的地址。这里的写法可以对应数组指针,两者是十分类似的。同样,函数数组指针就很好理解了。
2024-04-18 20:11:13 343
原创 实现在广播域通信下两台机子的通信不会影响到其他主机
再在依次将左三台PC与右三台PC依次连入Swith1与Swith2的1,2,3接口。我们依次给vl1-vl6的IP地址为192.168.1.1到192.168.1.6,子网掩码都为255.255.255.0。
2024-04-17 17:31:34 691
原创 利用外部中断1实现流水灯与蜂鸣器的转换
这里是基于at89c52版实现摁下KEY1触发中断,停止流水灯,让蜂鸣器叫一会后再执行流水灯。我们这里使用的是NPN模式,即buzzer口处接高电平接通。
2024-04-17 17:18:37 840
原创 深拷贝浅拷贝
因此我们可以再向堆区申请一块空间,放入m_Height的值,再对该值指向的地址进行释放即可,因而要实现一个自己创建的拷贝构造函数,指向0x0022这一块空间。这里创建了两个对象p1与篇,若没有这行自己实现的拷贝构造函数,就会默认使用系统自带的拷贝构造函数,从而造成上图的空间重复释放的问题。
2024-04-15 16:01:40 157 1
原创 实现双向链表的增删查改
这里插入一个新数据时,我们改变指针的指向就能实现尾插了,并注意这里的newnode与phead的指针指向的顺序不能改变,否则phead的next会被修改,导致找不到phead的next指针。注意这里Find函数while循环中的条件,即从pcur也就是phead的笑一个结点开始扫描,由于循环的原因,当扫到带头结点即结束扫描,从而访问到了整个链表.在这一块我们设置一个查询节点的函数,类型为LTNode*,返回一个结点,即->data==3的那个结点,并返回。
2024-04-14 15:03:55 850 1
原创 分割链表的解决
这块代码是在修改大链表的next的指针,防止随机值的出现,因而置为NULL;又避免了大链表尾指针原本指向小链表的lesstail导致死循环的问题。//若不加这一行,代码会出现死循环。//小链表的尾节点和大连表的第一个有效节点首尾相连。//修改大链表的尾节点的next指针指向。
2024-04-14 01:57:03 252 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人