自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 C++完美转发(详解,适合小白)

第二个 -- 当一个A类型变量强转为B类型时,实际上是创建了一个B类型的匿名对象来接收一个A类型的变量的值,而匿名对象是右值(将亡值),并且它不具名,所以会被识别成右值(只有具名变量才会默认作为左值传递)那么,在将左值引用和右值引用传入函数的时候,我们有时候需要保存它的左值属性或者右值属性,这时就需要分别写出左值引用和右值引用函数重载。forward用于保持原参数的类型,比如我是int&就保持int&,在第二种函数模板中,我们已经说过了,如果不保持原参数的类型,那么t就是一个左值变量,会全部走到左值。

2024-04-02 22:15:53 434

原创 小美的平衡矩阵(前缀和例题 -- 美团笔试编程题)

小美的平衡矩阵小美拿到了一个n*n的矩阵,其中每个元素是 0 或者 1。小美认为一个矩形区域是完美的,当且仅当该区域内 0 的数量恰好等于 1 的数量。现在,小美希望你回答有多少个i∗i的完美矩形区域。

2024-03-29 01:06:44 1210 1

原创 贝叶斯公式例题

有两个袋子,白色袋子里有7个红球和3个蓝球,黑色袋子里有3个红球和7个蓝球。每次取一个球,取完立刻放回,所有球都从某一个袋子里取,袋子的选择是随机的。现在共取出6个红球和4个蓝球,求所有球都是从黑色袋子里取出的概率。那么这些球都是从黑袋中取出的概率 = P黑 / (P白+P黑) = 0.3^2 / (0.7^2+0.3^2) ≈ 0.15517。P白 = 0.3^6 × 0.7^4 × 0.5 P黑 = 0.3^4 × 0.7^6 × 0.5。

2024-03-12 15:10:17 179

原创 (例题)Linux下fork()创建进程的个数

再接下来遇到 (结果) || fork(),对2B,它的结果为(0 &&?由于fork()的特性,在父进程中返回子进程的pid,在子进程中返回值为0,所以在2A中返回值大于0,即(1 &&?第一个fork()后进程总数为2,编号为A,称谓2A,之后每一轮fork()出来的进程编号依次为BCD。此时遇到 fork() && fork(),2A第二个fork()后进程总数为4,分别是2A+2B。当i=0,fork()后进程总数为2,打印2个“-”当i=2,fork()后进程总数为8,打印8个“-”

2024-03-09 03:09:54 261 1

原创 回溯法:雀魂启动!

1、用哈希思想构建映射表,标记已有的卡的种类和个数 2、遍历卡池,先从卡池中抽一张卡,因为只能抽一张卡,所以一种卡只判断一次3、抽到卡后找雀头 -- 遍历已有卡,使用穷举法,如果手中有一种卡的数量达到两张,选其作为雀头4、找到雀头后找顺子和刻子 --再次遍历已有卡,如果手中有一种卡的数量达到三张,选其作为刻子;如果有三种卡是连号,选其作为顺子

2023-10-27 23:02:22 915

原创 云服务器ip使用细节(公网、私有)

对于云服务器来说进行监听只会在自己的本地运行,等待外部请求,所以要用最小作用域的ip(也就是私有IP)。而对提交请求方来说要主动去找服务器,所以用公网ip。

2023-10-16 18:28:37 1449

原创 面向过程与面向对象、面向对象三大特性的介绍和示例

面向过程:将问题分解成一个个详细的步骤,然后通过函数实现每一个步骤,并依次调用面向对象:通过分析问题,分解出一个个对象,然后通过不同对象之间的调用和相互协作来解决问题

2023-09-20 20:12:46 656

原创 C++ using的多种用法

【代码】C++ using的多种用法。

2023-09-06 16:45:19 662

原创 C++仿函数

仿函数(Functor)是一种重载了 operator() 运算符的类或结构体。由于它重载了 operator() 运算符,所以它的实例可以像函数一样被调用由于仿函数是一个类,所以它可以包含成员变量来存储状态,并且可以定义多个重载版本的 operator() 来支持不同数量和类型的参数。这使得仿函数比普通函数更加灵活。

2023-05-22 20:31:09 137

原创 Linux文件操作

PCB中有个结构体file_strcut用来存放该进程打开的文件的FCB,每个进程都有三个默认打开的文件,占用了0、1、2这三个下标,那么自己手动打开的文件下标就是从3开始(fd分配规则:最小的、未被使用的)例如我们关闭了某个文件的标准输出流,那么1号fd就空出来了,那么下次open一个文件的时候这个文件的fd就是1(通过打开、关闭文件进行重定向)./a.out > log.txt 2>&1 -- 把1号文件的内容重定向到log.txt中,同时把2号文件的内容重定向到目前的1号文件(log.txt)中。

2023-05-20 18:25:55 73

原创 list使用教程

很多操作都和vector一样,这里介绍一下常用接口,具体使用可以参照vector的接口使用方法来使用。

2023-05-19 21:34:21 59

原创 vscode连接Linux远程服务器写代码时没有代码自动补全功能

在远程服务器上用vim写代码有自动补全但是用vscode连接后在vscode上写没有自动补全。

2023-05-13 20:43:24 733 2

原创 vector实用教程

1. vector是表示可变大小数组的序列容器2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理3. 本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增加存储空间。其做法是,分配一个新的数组,然后将全部元素移到这个数组。

2023-04-25 21:12:49 219

原创 Linux进程管理

在Linux环境下,子进程刚创建时会和父进程指向同一块虚拟空间,也是同一块物理空间,当父进程或者子进程对某项数据进行修改时,会对子进程的该数据进行拷贝,复制一份后再进行修改。:获取最近一次执行的进程的退出码 -- 因为该指令也是一个进程,所以连续的两次echo $?此时虽然父子进程该数据的虚拟地址一样,但是物理地址已经不同,但只要父/子进程没有在子进程创建后对数据进行修改,就不会专门开空间来存放子进程中的数据。在内核中创建子进程的pcb,子进程和父进程的pcb指向同一块代码和数据。

2023-03-29 23:14:41 38

原创 new/delete与malloc/free的区别

6. 申请自定义类型对象时,malloc/free只会开辟空间,不会调用构造函数与析构函数,而new在申请空间后会调用构造函数完成对象的初始化,delete在释放空间前会调用析构函数完成空间中资源的清理。注意:匹配起来使用,不匹配虽然不会报错,但如果new一个数组但是delete没有[]的话delete对内置类型会逐个释放数组中的元素所在空间,但是对自定义类型只会释放一次,运行时会崩溃。5. malloc申请空间失败时,返回的是NULL,因此使用时必须判空,new不需要,但是new需要捕获异常。

2023-02-26 17:25:10 284

原创 初始化列表

以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括号中的初始值或表达式。7、成员变量在类中声明次序就是其在初始化列表中的初始化顺序,与其在初始化列表中的先后次序无关。6、对于自定义类型成员变量,不管是否使用初始化列表,一定会先使用初始化列表初始化。2、不管是否显式在初始化列表中写,每个成员变量都会在初始化列表中定义/初始化。4、如果成员变量不在初始化列表,那么用缺省值来定义,否则根据初始化列表定义。成员变量声明的顺序就是初始化的顺序:先初始化_a2再初始化_a1。

2023-02-25 22:38:19 82

原创 友元函数和友元类

友元函数:定义在类外,声明在类中,不属于任何类,变成类的朋友,可以访问该类的私有变量,没有this指针特性:1、友元函数可访问类的私有和保护成员,但不是类的成员函数2、友元函数不能用const修饰3、友元函数可以在类定义的任何地方声明,不受类访问限定符限制4、一个函数可以是多个类的友元函数5、友元函数的调用与普通函数的调用原理相同。

2023-02-25 22:11:39 119

原创 构造函数与析构函数

构造函数:构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证每个数据成员都有一个合适的初始值,并且在对象整个生命周期内只调用一次.构造函数虽然名称叫构造,但是构造函数的主要任务并不是开空间创建对象,而是初始化对象。特征如下:1. 函数名与类名相同2. 无返回值,连void都不用写3. 对象实例化时编译器自动调用对应的构造函数4. 构造函数可以重载。

2023-02-24 22:41:19 81

原创 Linux基础实用工具

yum:软件管家yum list | grep (关键词):在yum的list中查找包含(关键词)的指令安装包 yum search (关键词):在所有软件包汇总搜索包含(关键词)的软件包 yum makecache:将服务器的软件包信息缓存到本地 yum clean all:清除缓存中老旧的头文件和软件包 yum install (安装包名):下载并安装 yum remove (安装包名):卸载

2023-02-23 18:24:47 60

原创 内联函数的概念和使用

1. inline是一种以空间换时间的做法,如果编译器将函数当成内联函数处理,在编译阶段,会用函数体替换函数调用缺陷:可能会使目标文件变大优势:少了调用开销,提高程序运行效率2.inline对于编译器而言只是一个建议,内联说明只是向编译器发送的一个请求,编译器可以选择忽略这个请求。inline适用于规模较小、流程直接(非递归)、频繁调用的函数,大多数编译器都不支持内联递归函数3.内联应该定义在头文件中,不能分离声明和定义,否

2023-02-23 17:46:09 155

原创 数据结构排序详解/C语言/有源码/稳定性分析

基本思想:使用哈希表,开辟一个标记数组tmp用于统计待排序序列中的每个值的个数,假设待排序序列为 0,2,6,4,7,1,4,1,统计出有1个0,2个1,2个4,1个6,1个7(tmp[0]=1,tmp[1]=2,tmp[4]=2,tmp[6]=1,tmp[7]=1),统计完后再根据每个值的个数覆盖待排序序列,使其有序(往待排序序列覆盖写入1个0,2个1,2个4,1个6,1个7 -- 0,1,1,4,4,6,7)一种排序的算法可以有很多种,只要存在一种算法可以使排序稳定,那么该排序就是稳定的。

2023-01-05 21:23:21 332

原创 C/C++写入到““时缓冲区溢出:可写大小为““个字节,但可能写入了“8“个字节。

存放到tmp中,那么就需要开辟sizeof(arr1)+sizeof(arr2)+4个字节,只要使用了循环,就算只在arr1、arr2中拷贝一个元素,也需要开辟整个数组的空间,有几个数组参与了循环就要开辟几个数组的sizeof的空间 ---- 编译器不知道你到底要拷贝这些数组中的多少元素,只能做最坏的打算认为你是要把这些数组的所有元素都拷贝进来,而且你可能对循环进行更改导致在数组尚未越界的时候tmp就已经放不下了。此警告的目的是提示我们要在所需的最小空间的基础上加上足够的空间,防止溢出。

2023-01-05 21:07:28 1562

原创 Linux权限基础

文件1的类型是普通文件,拥有者Eclips3权限为rw-,所属组Eclips3权限为rw-,other权限为r--文件2的类型是目录文件,拥有者Eclips3权限为rwx,所属组Eclips3权限为rwx,other权限为r-x。普通文件的起始权限是666(rw-rw-rw-),目录文件的起始权限是777(rwxrwxrwx)文件1起始权限为666(110 110 110),最终权限为664(110 110 100)-:普通文件 -- 文本、可执行文件、归档文件等。b:块设备 -- block、磁盘。

2022-12-29 00:22:18 143

原创 堆中数据的插入与删除(向上调整与向下调整算法)

设根节点为parent,找到其左孩子childleft = parent * 2 + 1;交换完后parent和child的向下走一层,parent = child;对堆中数据进行了插入和删除后通常会破坏原本堆的排列结构,需要通过对堆进行调整来恢复大堆或者小堆的排列。堆的插入是在堆的末尾插入数据,现在插入一个值为10的节点,设该节点为child。将堆顶的数据与最后一个数据一换,然后删除数组最后一个数据,再进行向下调 ,整算法。此时没有右孩子,与37交换,28在最后一层,停止。15

2022-12-27 17:31:16 723

原创 树的节点与度的计算公式

二叉树:度为0的节点数=度为2的节点数+1。节点数目=所有节点度数之和+1。

2022-12-17 16:36:41 4237

原创 C语言数据结构——环形队列

其次,假设capacity为4,那实际数组空间为5,下标为0,1,2,3,4,当rear==4,此时下标0,1,2,3中都有数据,rear的理论最大值为rear+1 == 5,要使rear+1 == 5 == 0就需要使5%5,如此%的右边就为rear的理论最大值,front同理。如果一个可放入n个数据的环形队列的capacity为n的话,一开始front == rear == 0,假设不入队一直出队,当队满时rear又循环到了0下标,此时front == rear == 0仍成立。

2022-12-11 17:28:52 1726

原创 C语言数据结构——队列

C语言数据结构——队列

2022-12-11 16:30:47 139

原创 用栈实现队列

用栈实现队列

2022-12-11 16:27:08 67

原创 C语言数据结构——单链表

C语言数据结构——单链表

2022-12-11 16:15:47 208

原创 C语言数据结构——顺序表

C语言数据结构——顺序表

2022-12-11 16:12:43 160

原创 C语言数据结构——栈

C语言数据结构——栈

2022-12-11 16:01:18 92

原创 用队列实现栈

用队列实现栈

2022-12-11 16:00:10 192

原创 复制带随机指针的链表

1、把复制出来的链表的每个节点都拼接到原节点的后面(复制出来的节点为小弟,小弟跟在大哥屁股后面),使得原来的 original1->next == original2 变为 original1->next = copy1,copy1->next = original2。2、此时再设置random指针 -- original->next->random = original->random->next(小弟跟在大哥的后面copy==original->next,那。大哥的random的小弟。

2022-12-05 19:45:46 126

原创 leetcode:求两个链表的交点+求环形链表的入环点

leetcode:求两个链表的交点+求环形链表的入环点

2022-11-08 17:39:40 110

原创 宏定义中的#和##

那如果我们想输出 the value i+1 is 11该怎么办呢?如何才能把i放到字符串中?使用 #VALUE 可以把 VALUE 转换成字符串 "VALUE" >> "i+1"输出结果为 the value of i + 1 is 11。输出结果为 the value is 11。ADD_TO_SUM执行的实际上是sum1 += 10。这里可以通过使用#VALUE来实现。运行结果为sum1=20;

2022-10-17 19:56:11 123

原创 文件操作函数

如果成功读取了count个元素,则返回值为count,如果读取的元素个数小于count,返回值不确定,如果count或size设置为0,则返回0。如果成功写入了count个元素,则返回值为count,如果读取的元素个数小于count,返回值不确定,如果count或size设置为0,则返回0。从流中以指定的格式读取一个该格式的数据,存放到目的地的地址中。读取正常返回的是格式串中指定的数据的个数,如果读到数据但到了文件末尾或出错(没有读到指定个数),则返回实际读取到的数据个数,读取失败返回EOF。

2022-10-17 12:24:46 27

原创 n皇后问题回溯法详解

​皇后放置的规则:不能同行,不能同列,也不能同对角线(正反双对角线)先设置一下全局变量#define N 8int cnt=0;char board[N][N];N 为皇后个数cnt 为一共有多少种放置方法board为棋盘,用于放置皇后和打印结果​

2022-10-09 17:53:10 310

原创 动态内存实现通讯录

先构造主函数,根据所选内容调用对应函数,其所选内容用枚举来固定,枚举的定义在函数声明部分【代码】动态内存实现通讯录。

2022-10-05 17:23:12 64

原创 位段和联合体的内存分配及大小计算

对Un2,c占14个字节,i占4个字节,c是最大成员,其对齐数为2,i的对齐数为4,所以要对其到4的整数倍16,Un1的大小就为16个字节。因为a、b、c总共占了17个byte,剩下的内存大小为4*8-17=15

2022-10-05 17:11:11 253 1

原创 回溯法的概念及应用(例题)

回溯法的遍历策略是深度优先遍历,从根节点开始,首先根节点成为活结点(自身已生成但其孩子节点没有全部生成的节点),同时也成为了当前的扩展节点(正在产生孩子的节点),我们可以把它看成是树的中序遍历——先从根节点出发,走第一步生成子节点,再走第二步去到下一个子节点,如果已经得到结果(不能再向纵深方向移动)则当前扩展节点就成为死节点(所有子节点均已产生的节点)走第三步返回其父节点,在父节点处判断是否符合预期,再走第四步查找下一种结果,如此往复直到把所有结果都找出来。注意:是多叉树不一定是二叉树。

2022-10-05 11:43:47 367

cpptools-linux.vsix

用于解决vscode连接远程服务器时写代码没有自动补全的问题

2023-05-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除