C++
文章平均质量分 86
C++
来自海王星
目前正在学习:C/C++/数据结构/操作系统
阶段目标:进大厂
展开
-
一文秒杀二分查找所有题目
朴素二分查找思想及实现这是学算法的入门算法,先举个最简单的例子:猜数字1:我心中默念一个数字,范围在1~100,你每次可以猜一个数,我会回答你大了,小了,直到猜中为止。答:比如假设要猜的数字是38,整个过程如下: 猜测范围(1,100),猜50,大了。所以比50大的都不用考虑了,包括50。 猜测范围(1,49),猜25,小了。所以比25小的也不用考虑了,以此推论。 猜测范围(26,49)猜37,小了。 猜测范围(38,49)猜44,大了。 猜测范围(38,43)猜40,大了。 猜测范围(原创 2021-01-30 13:47:38 · 259 阅读 · 0 评论 -
关于位运算的一些妙用
位运算回顾所谓位运算,就是对二进制0|1进行一些操作。感觉好像平时用的并不太多,但是这些运算符有时候能完成一些很特殊的任务。比如:& :与运算口诀:11得1,其余取0。作用:清零如果想将一个变量或者地址清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。取出一个数的指定位找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。 例:设X=10101110, 取X的低4位,用 X & 00原创 2020-10-15 22:16:10 · 388 阅读 · 2 评论 -
C++笔记之踩坑记录
map的count查找自动添加问题count:返回的是被查找元素的个数。如果有,返回1;否则,返回0unordered_map <char,int> M;m['a']=1;m['b']=2;cout << m.size() << endl; //此时map 长度为2m.count['c'];cout << m.size() << endl; //此时已经变成3了,因为多了'c':0//为了防止这种操作,可以...原创 2020-10-12 20:03:09 · 167 阅读 · 0 评论 -
C++笔记(二):函数高级特性
默认参数声明和定义只能有一个地方有默认值。函数重载满足条件:同一个作用域下函数名称相同函数参数类型不同,或者个数不同,或者顺序不同注:返回值不能作为重载条件引用作为重载条件void func(int &a); //int &a=10 不合法void func(const &a); // const int &10=10 合法//调用int a=10;func(a); //此时调第一个func(10);//此时调第二个3.函数重载碰到默认参数原创 2020-09-22 09:42:09 · 105 阅读 · 0 评论 -
C++笔记:(1):C++内存模型
内存分区模型C++程序在执行时,将内存区分为四块:代码区:存放函数体的二进制代码,由操作系统进行管理全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放,存放函数的参数值,局部变量堆区:由程序员分配和释放,若其不释放,程序结束时由操作系统回收。内存四区的意义:不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程。1.1 程序运行前在程序编译后,生成了exe可执行程序,未执行的该程序分为2个区域:代码区:存放CPU执行的机器指令代码区是共享的,共享的目的是对于频原创 2020-09-21 12:58:23 · 184 阅读 · 0 评论