自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(271)
  • 资源 (2)
  • 收藏
  • 关注

原创 c++的algorithm头文件定义了一个count的函数和一个叫做count_if的函数

count(ivec.begin() , ivec.end() , searchValue)count:在序列中统计某个值出现的次数count_if :在序列中统计与某谓词匹配的次数bool greater10(int value){ return value >10;}count_if(v1.begin(), v1.end(), greater10);...

2021-11-05 17:44:40 698

转载 C++流的概念

在C++语言中,数据的输入和输出(简写为I/O)包括对标准输入设备键盘和标准输出设备显示器、对在外存磁盘上的文件和对内存中指定的字符串存储空间(当然可用该空间存储任何信息)进行输入输出这三个方面。对标准输入设备和标准输出设备的输入输出简称为标准I/O,对在外存磁盘上文件的输入输出简称为文件I/O,对内存中指定的字符串存储空间的输入输出简称为串I/O。C++语言系统为实现数据的输入和输出定义了一个庞大的类库,它包括的类主要有ios,istream,ostream,iostream,ifstream,of..

2021-11-05 13:50:47 1704 1

转载 C++ multimap容器访问同一键值元素的不同方法

typedef multimap<string,int>::size_type mstype;typedef multimap<string,int>::iterator mulit;multimap<string,int> mulmap;//插入元素mulmap.insert(make_pair("abc",2));mulmap.insert(make_pair("abc",3));mulmap.insert(make_pair("bcd",5));mu.

2020-10-23 17:04:37 1510

原创 c++的stl中的mutil开头的几个容器是不支持中括号【】和at函数访问元素的

stl中的mutil开头的几个容器是不支持中括号【】和at函数访问元素因为mutilmap之类的那几个容器的允许key和value的关系是一对多,多对多的,如果使用【】和at,去访问元素的话,不知道该去查对应的哪一个元素。当然最主要的是mutil开头的这几个容器里没有重载这个[ ] ,(unordered_map里就重载了【】)。所以可以当作一个记忆方式。...

2020-10-23 16:43:30 348

原创 map中不允许重复的键值,那么unordered_map呢,为啥他也不允许键值重复,unordered_map的底层不是哈希表吗

这个确实是不允许重复的,虽然unordered_map的底层是哈希表,但是可能哈希里面是map,所以我大胆猜测map类的都是不允许键值重复的。

2020-10-23 16:35:13 5011 2

转载 关于正向迭代器和反向迭代器的一些差异

1. 定义反向迭代器(Reverse Iterator)是一种反向遍历容器的迭代器。也就是,从最后一个元素到第一个元素遍历容器。反向迭代器将自增(和自减)的含义反过来了:对于反向迭代器,++运算将访问前一个元素,而--运算则访问下一个元素。2. 作用(1)反向迭代器需要使用自减操作符:标准容器上的迭代器(reverse_iterator)既支持自增运算,也支持自减运算。但是,流迭代器由于不能反向遍历流,因此流迭代器不能创建反向迭代器。(2)可以通过reverse_iterator::base()将反向

2020-10-23 16:23:07 1147

原创 多线程中的共享变量是bool值,而bool值充当循环的判断条件的时候的处理方式

多线程中bool值,如果想要保证其安全性,c++中:1>可以考虑使用atomic,而且c++中的atomic经常对bool值进行处理,比如std::atomic<bool> ready (false);这样修改或者读取这个的bool值ready的时候,就可以是原子,是独占的,不可以被其他线程影响。尤其是在循环中充当循环的判断条件的时候。假设子线程里将ready更改为truewhile(ready){}java中:可以考虑使用Atomic类...

2020-10-23 16:10:01 1397

原创 关联式容器使用char*充当key或者value的时候

比如说map,如果使用char*当作key,或者value的时候,可能因为char*,只是指针(地址)而发生意想不到的bug,因为一旦对这个map对象赋值,他只存储指向某个变量的指针变量,而以前的那个变量的地址如果是可重入的,那更改这个变量的同时,就会将map对象里存储的指针变量的存储更改。#include<iostream>using namespace std;#include<map>#include<string>#pragma warning(

2020-10-23 15:56:38 431

原创 windows下的原子操作函数InterlockedCompareExchange的用法

函数原型如下:(在不同编译器上参数可能写的不一样,不过底层是一样的)InterlockedCompareExchange ( __inout LONG volatile *Destination, __in LONG Exchange, __in LONG Comperand );头文件:可以是#include<window.h>,因为在里面有一个#define InterlockedCompareExchange _Interlocked...

2020-10-22 13:48:14 2075

原创 关于条件判断语句if的括号里能否是字符串

string s=“shop”;if(s),此时是会编译出错的,因为if的括号里只能是bool值,或者可以转换为bool的值。if(s.c_str())此时返回的是指针,是指向s串的缓冲区的指针。那么此时这个此时就是以这个指针所表示的地址来判断的string s=“123”;if(atoi(s.c_str()),这个是将c_str指向的s的缓冲区存储的数字组成的串转换为真实的数字。...

2020-10-14 15:29:38 1863

原创 关于xshell连接华为云服务器出现Socket error Event: 32 Error: 10053. Connection closing...Socket close的错误

如果没有修改任何的配置文件,那么这个很大几率是IP冲突。我们只需要换本机的IP(即就是自己电脑的地址,或者是连接的ip的地址),如果是自动获取的,就在控制面板--网络和Internet---更改适配器选项--以太网,禁用再启用,就可以了。我的原因是自己的电脑与之前连接的wifi不同,折腾了一整天,后来看了一下连接的wifi,才看到自己的wifi与之前一直使用的wifi不同。...

2020-05-29 21:51:01 1737

原创 文件传输使用什么协议,UDP怎么传输文件

文件传输使用的是FTP协议,UDP怎么传输文件:服务端UDP传输文件是服务端open一个文件(即创建一个文件),然后客户端:1》创建数据报套接字sockfd = socket(PF_INET, SOCK_DGRAM, 0);2》//以只读方式打开指定的文件int fd = open(argv[1], O_RDONLY);3》开辟一个buf缓冲区,while循环去读取文件信息。每...

2020-04-22 12:11:50 3378

原创 vector和list的删除方式remove和erase的区别

vecotr中list中:set中;

2020-04-21 22:58:26 457

转载 C++(和c语言中)如何在main()函数执行之前执行一个函数?

转自:https://www.cnblogs.com/klcf0220/p/5663487.html在C语言中,如果使用GCC的话,可以通过attribute关键字声明constructor和destructor(C语言中如何在main函数开始前执行函数)#include <stdio.h> __attribute((constructor)) void befor...

2020-04-21 19:43:30 727

原创 实现一个读写锁

读写锁:在编写多线程的时候,有一种情况是十分常见的。那就是,有些公共数据修改的机会比较少。相比较改写,它们读的机会反而高的多。通常而言,在读的过程中,往往伴随着查找的操作,中间耗时很长。给这种代码段加锁,会极大地降低我们程序的效率。那么有没有一种方法,可以专门处理这种多读少写的情况呢?有,那就是读写锁。读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读...

2020-04-20 00:32:42 1531 1

原创 回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:...

2020-04-18 02:29:55 229

原创 str[i]=='0' && str[i]=='9'的替换方式是isdigit(str[i])

str[i]=='0' && str[i]=='9'的替换方式是isdigit(str[i])

2020-04-17 14:11:22 635

原创 最长回文子串

1>动态规划加双指针。constintN=10000;intdp[N][N];classSolution{public:stringlongestPalindrome(strings){intlen=s.size();if(len<=1)returns;//单个子串肯定是回文子串...

2020-04-16 02:16:01 139

转载 T(n) = a*T(n/b)+c*n^k;T(1) = c是什么,

这个是一个常用的一个计算时间复杂度的公式: T(n) = a*T(n/b)+c*n^k对于T(n) = a*T(n/b)+c*n^k;T(1) = c 这样的递归关系,有这样的结论:if (a > b^k) T(n) = O(n^(logb(a)));if (a = b^k) T(n) = O(n^k*logn);if (a < b^k) T(n) = ...

2020-04-12 02:23:46 340

原创 若某无向图一共有16条边,并且有3个度为4的顶点,4个度为3的顶点,其余顶点的度均小于3,则该无向图至少有多少个顶点?至多有多少个节点

每条边有两个,16*2=32,无向图16条边,每条边有两个度,所以总度数为3232-3*4-4*3=8剩余节点度均小于3,则最大为2 节点度这个最大,则节点是至少的,即8/2=4,则得到3+4+4=11.,前面的3个度和4个度都是已知的,所以总体就是至少的...

2020-04-11 15:29:29 13493 3

原创 对字符串HI_KWAI中的字符进行二进制编码,使得字符串的编码长度尽可能短,最短长度为?

先来统计每个字符的个数:H:1,I:2,_:1,K:1,W:1,A:1,然后去看:

2020-04-11 01:53:18 535

转载 awk 的内置变量 NF、NR、FNR、FS、OFS、RS、ORS

NF 字段个数,(读取的列数)NR 记录数(行号),从1开始,新的文件延续上面的计数,新文件不从1开始FNR 读取文件的记录数(行号),从1开始,新的文件重新从1开始计数FS 输入字段分隔符,默认是空格OFS 输出字段分隔符 默认也是空格RS 输入行分隔符,默认为换行符ORS 输出行分隔符,默认为换行符NF读取记录的字段数(列数),例如:[root@localho...

2020-04-10 22:18:40 333

原创 模板题

有如下模板定义:templateTfun(Tx,Ty){returnx*x+y*y;}在下列对fun的调用中,错误的是:CA.fun(2,8)//这个保证了前面的T都是intB.fun(2.0,8.2)//都是floatC.fun(2.3,8)//不同D.fun<int>(2,8.3)//<int>可以将8.3转换为整型。所以可以...

2020-04-10 02:43:24 257

原创 已知二叉树后序遍历序列是dabec,中序遍历是debac,那么他的前序遍历是cedba

所以前序遍历是cedba

2020-04-10 02:15:07 15632

原创 关于寄存器变量下面说法说法正确的是

只有局部自动变量和形式参数可以作为寄存器变量,其他(如全局变量)不行A 寄存器变量可以声明全局变量B无法取寄存器变量的地址D.寄存器变量访问效率要比普通变量访问效率高E.声明寄存器变量时有可能不成功解析:由于register变量使用的是硬件CPU中的寄存器,寄存器变量无地址,所以不能使用取地址运算符"&"求寄存器变量的地址。直接存储在寄存器上面的。寄存...

2020-04-10 01:33:02 1864

原创 进程和线程的区别

1》为啥会有进程,因为操作系统是对进程进行操作的,而线程是由cpu进性实际调度的所以进程是操作系统分配资源的基本单位,线程是CPU调度和分派的基本单位。2》一个进程中可以包含多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进程至少包含一个线程3》进程的创建调用fork或者vfork,而线程的创建调用pthread_create,进程结束后它拥有的所有线程都将销毁,而...

2020-04-09 23:16:33 104

union需要注意的点

在联合体中,各成员共享一段内存空间, 一个联合变量的长度等于各成员中最长的长度。应该说明的是, 这里所谓的共享不是指把多个成员同时装入一个联合变量内, 而是指该联合变量可被赋予任一成员值,但每次只能赋一种值, 赋入新值则冲去旧值。一个联合体类型必须经过定义之后, 才能使用它,才能把一个变量声明定义为该联合体类型。4.联合体union所占内存空间大小:前边说了,首先,union的首地...

2020-04-09 22:34:55 263

原创 大端小端及其union的练习题

看了这个例子,一定会有这样的疑问:应该是00 00 00 01,为什么会是这样的 vs2013是小端存储,下面的这个图从左到右地址是由低到高。比如0x11223344在大端机上是11223344,在小端机上是44332211。大端:低地址存高位小端:低地址存低位 (小弟弟)先来说清楚,32位内存地址的,虽然我们在看一个二进制数的时候比如01111011,是从后往前看的...

2020-04-09 22:32:44 1041

转载 数据库并发操作带来的问题

(1)丢失更新当两个或多个事物读入同一数据并修改,会发生丢失更新问题,即后一个事物更新的结果被前一事务所做更新覆盖 即当事务A和B同事进行时,事务A对数据已经改变但并未提交时B又对同一数据进行了修改(注意此时数据是A还未提交改变的数据),到时A做的数据改动丢失了(2)不可重复读当两个数据读取某个数据后,另一事务执行了对该数据的更新,当前一事务再次读取该数据(...

2020-04-09 00:31:01 203

转载 strlen() sizeof() lenth()函数的返回值问题

这三个函数的返回值类型是一样的都是unsigned int。在使用这几个函数的时候,如果是让这几个的返回值直接和整数比较是没有问题的,但是如果是和一个负数比的话就出问题了,先看看下面这个例子:#include<iostream>#include<string>using namespace std;int main(){string a="abcd";...

2020-04-08 23:15:07 384

原创 判断题:vector所装的元素是的内存可以是不连续的

我觉得是连续,因为vector的底层是array,是支持随机访问的,所以有几个函数,比如at函数,和[ ],来访问元素,如果内存不连续,则访问元素的时候,会出现这几个函数无效。...

2020-04-08 22:55:25 1521

原创 markdown语法中 ![text](aaa.jpg)表示

![]()快捷语法输入img回车即可例:![aaa](./程序.jpg)若是图片路径原因显示不出来,会显示aaa若可以正确显示则显示图片。详见:https://blog.csdn.net/qq_40670268/article/details/80179575...

2020-04-08 22:20:21 184

原创 判断题:使用链表比使用数组更容易造成内存碎片化(错误)

正如上图所示,数组在内存中是一段连续的存储单元,每个数据依次放在每个单元中。分析这种结构,我们可以得出以下几个结论:创建一个数组,必须声明其长度,以在内存中寻找合适的一段连续存储单元。这也意味着数组的大小是固定的,我们无法动态调整其大小。想要获取数组中第i个元素,其时间复杂度是 O(1),因为可以根据其地址直接找到它。同理修改也是。数组对查询表现一般,要想查找一个元素,需要遍历,时间复...

2020-04-08 21:58:48 915

转载 Centos7 死循环登录问题

问题:用户名和密码输入正确,登录后屏幕闪一下又回到初始的登录界面。不知道具体什么原因引起的,先记录下不知道是否正确的解决方案,网上找了些相关的方案有的也实现不了,可能这个问题跟装的虚拟机的版本也有关系。我出现这个问题是在装了Hadoop先关的一些工具后出现的,解决方法是开机进入单用户模式,输入账号密码后删掉了/etc/profile下的export部分,(可能自己写错了吧,只删了一部分)。造成这个...

2020-04-02 13:13:00 4173

原创 VMware里的centos7.0使用nat模式上网

之前一直用的是桥接模式不过桥接模式老爱出错,有时候开关机之后就连不上网了。还出现Failed to start LSB: Bring up/down networking 。真是烦。不发牢骚了看nat的步骤:1:在虚拟机的设置里选择NAT模式。如下:2.在vmware左上角的编辑里选择虚拟网络编辑器3》点击右下角的DHCP设置让起始IP地址的前3...

2020-03-31 00:43:47 253

原创 桥接模式与NAT模式的区别

2020-03-29 15:51:24 260 1

原创 centos中怎么查看一个文件的创建时间

可以使用ls -l

2020-03-29 02:55:46 4397

转载 centos 7 调整 root 和 home 的容量大小

查看磁盘的空间大小: df -h备份/home : cp -r /home/ homebak/卸载​ /home : umount /home如果出现 home 存在进程,使用 fuser -m -v -i -k /home 终止 home 下的进程,最后使用 umount /home 卸载 /home删除/home所在的lv : lvremove /dev/mapper/ce...

2020-03-29 02:14:03 1151

转载 linux下的七种文件类型和如何查看他们的类型

1、七种文件类型普通文件类型Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-]目录文件就是目录, 能用 # cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx]块设备文件块设备文件 : 就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的...

2020-03-28 17:03:17 685

原创 leetcode 240 搜索二维矩阵(这个题目的代码同样适用于leetcode 74).

思路:缩小问题规模(减治)设矩阵左下角元素matrix[i][j],它是第i行最小值,同时也是第j列最大值若target<matrix[i][j](小于第i行最小值),则排除第i行,令i--若target>matrix[i][j](大于第j列最大值),则排除第j列,令j++循环2~3直到找到target,或所有行列均...

2020-03-27 01:16:21 134

无锁队列英文论文(具有研究价值).zip

无锁队列英文论文(具有研究价值).zip

2021-05-14

epoll底层.zip

主要是关于epoll的底层介绍

2021-05-14

空空如也

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

TA关注的人

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