![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CPP
文章平均质量分 58
achenstar
这个作者很懒,什么都没留下…
展开
-
代码随想录DAY1: 704 . 二分查找27. 移除元素
1、只有思想是对的,但是在范围方面是错滴。这个方法的灵魂:在涉及到改变两个指针位置的算法中都必须判断low原创 2023-06-28 23:59:29 · 251 阅读 · 0 评论 -
C++ 类与对象(中)构造函数 析构函数
完成资源清理工作比如:释放之前开辟的空间,将数值置为0等。原创 2023-01-24 23:11:24 · 63 阅读 · 0 评论 -
C++ 类和对象(上) 访问限定符 域操作符 this指针 类的定义
使用关键字class 来确定一个类类的成员:类中内容类中变量:成员变量(再给成员变量命名时,为避免重复,尽量在成员变量中+ _下划线)类中函数:类的方法 / 成员函数函数的声明与定义分离的情况,成员函数名前需要加域操作符。原创 2023-01-20 17:52:28 · 103 阅读 · 0 评论 -
C++内联函数 如何使用、优缺点
3、声明和定义分离会导致连接错误。因为在形成汇编语言(.o文件)时没有将内联函数的地址写入符号表,所以当调用内联函数时找不到内联函数。内联函数是为了取代C语言中的宏而存在的。(被括号和分号支配的恐惧)宏不能调试,且无类型安全检查。1、可是它的展开视编译器而定(有的编译器展开有的编译器不展开)。当代码太长的时候展开内联函数反而会浪费时间。而内联函数很好地补充了这些。他在书写上与普通函数一样。2、当代码太长的时候展开内联函数反而会浪费时间。频繁调用的小函数(语句简单)原创 2023-01-20 16:17:50 · 369 阅读 · 0 评论 -
C++引用(&)解析:引用的作用,什么时候使用引用,引用与指针的不同
内存空间被销毁后,空间还在,也可以访问,但是数据不被保护,读写数据都不稳定。5. 在sizeof中含义不同:引用结果为引用类型的大小,但指针始终是地址空间所占字节个数(32 位平台下占4个字节,64 位平台下占8个字节)3. 引用在初始化时引用一个实体后,就不能再引用其他实体,而指针可以在任何时候指向任何 一个同类型实体。但是使用引用返回会出现一些问题:返回的是数据的别名,但是数据的真实存储已经被销毁了。出了作用域,返回变量不存在,就不能用引用返回。在指针和引用赋值中,权限可以缩小,不可以放大。原创 2023-01-20 15:49:35 · 861 阅读 · 0 评论 -
C/C++ 插入排序、希尔排序、选择排序、冒泡排序、快速排序及其复杂度计算
1、left 停下(表示已经找到比key大的数,且已经交换过,此时left的数比key小),right走,right遇到left(此时right没有找到比key小的数字,但是已经不满足条件left原创 2023-01-07 17:02:58 · 110 阅读 · 0 评论 -
环形链表C/C++数据结构
目录什么是环?例题 141. 环形链表公式推导:环形链表二 142. 环形链表 II方法一:方法二:类似这种,结点下一个指针又指向链表本身,这样若遍历链表的话则会变成死循环。 特殊情况:自己也有可能成环 环的特点:有两个指针指向环的起点判断是否有环使用快慢指针,进入了环就变成了追及相遇的问题 思路:快指针一次走两步,慢指针一次走一步,当两个指针相遇时,即在链表中存在环 问题:为什么是快指针一次走两步?慢指针一次走一步?公式推导:假设链表中无环快指针走的距离=2*慢指针走到距离假设链表中有环进环原创 2022-12-05 16:28:13 · 894 阅读 · 0 评论 -
resize 详细讲解 C++
resize 函数 是一个替换字符串长度的函数,有两个重载函数,第一个参数都是替换之后的大小,第二个为替换的字母初始字符串123456 resize(n)中的n 比原来的长度小 resize(n)中的n 比原来的长度大,空字符为‘\0’ a.resize(12,'a') 将新扩展的空间填充为字符‘a' 输出结果原创 2022-12-03 21:37:17 · 5887 阅读 · 0 评论 -
C/C++字符串函数strtok()详解
strtok() 的原理是将查找到与delimiter相同的部分字符串的首位变成 ' \ 0 ',然后返回str的首元素地址,完成”截断“行为。若在使用过一次 strtok() 函数之后再次使用strtok() 函数,可不加参数。若之前未使用过 strtok() 函数,不加第一个参数的话,编译器会崩溃的。原因:第一次使用完毕之后 strtok() 函数会保存使用过的地址。找到与delimiter相同的地方,将其截断,并返回str。返回值为char * ,一般默认返回str的地址。原创 2022-11-03 20:38:28 · 2226 阅读 · 0 评论 -
C/C++ strStr()字符串函数的实现
首先肯定得把str1遍历一下吧,鉴于函数声明中是指针,没有字符串的长度,只好使用while循环了。需要三个指针,除去标记两个字符串的指针,还需要有一个在str1中的定位指针。strstr函数用于比较str1字符串中是否含有str2字符串。只有当str1中的部分完全等于str2的时候才将两个指针一起移动。原创 2022-11-03 15:06:09 · 423 阅读 · 0 评论 -
C/C++汉诺塔问题
并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。其实我想,大部分的递归问题都可以采用这个思路,n-1个与第n个的关系。只需要考虑第n个需要怎么做就行了,剩下的n-1个不过就是复制粘贴而已。只需要将所有的盘子分成两堆,一堆是从第 1 个盘子到 n - 1 个盘子,另一堆只有一个盘子那就是第 n 个盘子。第二步:将最后一个(第n个盘子)从A柱移动到C柱——直接移动。第一步:将n-1个盘子从A柱移动到B柱——以C柱作为中转站。第三步:将n-1个盘子从B柱移动到C柱——以A柱作为中转站。原创 2022-11-02 17:08:27 · 203 阅读 · 0 评论 -
C/C++指针详解(附例题)
我们口头中的指针又称为指针变量,指针变量存储的是地址。在深入了解指针前首先要认识两个符号*(解引用操作符)和&(取地址操作符)*(解引用操作符)常常使用在指针变量之前,表示取得指针指向的值&(取地址操作符)取某变量的地址下面举一个例子&num表示取得num变量的地址int * a 表示声明一个名称为a的int * 类型的指针变量int * a = & num 表示将num 的地址赋予a 这个指针变量可以通过监视来验证我们的想法a是表明&num的变量,那&a呢?原创 2022-10-29 21:30:37 · 1810 阅读 · 0 评论 -
C++选择排序冒泡排序插入排序
这三种排序方式代码上都是两个循环,时间复杂度都是O(N^2),都是两两交换不同就在于它们第二个相比较的数字的方式。原创 2022-10-17 20:08:12 · 220 阅读 · 0 评论