- 博客(23)
- 资源 (2)
- 收藏
- 关注
原创 文件传输使用什么协议,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 3438
转载 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 750
原创 实现一个读写锁
读写锁:在编写多线程的时候,有一种情况是十分常见的。那就是,有些公共数据修改的机会比较少。相比较改写,它们读的机会反而高的多。通常而言,在读的过程中,往往伴随着查找的操作,中间耗时很长。给这种代码段加锁,会极大地降低我们程序的效率。那么有没有一种方法,可以专门处理这种多读少写的情况呢?有,那就是读写锁。读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读...
2020-04-20 00:32:42 1786 1
原创 回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:...
2020-04-18 02:29:55 246
原创 str[i]=='0' && str[i]=='9'的替换方式是isdigit(str[i])
str[i]=='0' && str[i]=='9'的替换方式是isdigit(str[i])
2020-04-17 14:11:22 675
原创 最长回文子串
1>动态规划加双指针。constintN=10000;intdp[N][N];classSolution{public:stringlongestPalindrome(strings){intlen=s.size();if(len<=1)returns;//单个子串肯定是回文子串...
2020-04-16 02:16:01 151
转载 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 365
原创 若某无向图一共有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 14469 3
原创 对字符串HI_KWAI中的字符进行二进制编码,使得字符串的编码长度尽可能短,最短长度为?
先来统计每个字符的个数:H:1,I:2,_:1,K:1,W:1,A:1,然后去看:
2020-04-11 01:53:18 575
转载 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 370
原创 模板题
有如下模板定义: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 324
原创 关于寄存器变量下面说法说法正确的是
只有局部自动变量和形式参数可以作为寄存器变量,其他(如全局变量)不行A 寄存器变量可以声明全局变量B无法取寄存器变量的地址D.寄存器变量访问效率要比普通变量访问效率高E.声明寄存器变量时有可能不成功解析:由于register变量使用的是硬件CPU中的寄存器,寄存器变量无地址,所以不能使用取地址运算符"&"求寄存器变量的地址。直接存储在寄存器上面的。寄存...
2020-04-10 01:33:02 1910
原创 进程和线程的区别
1》为啥会有进程,因为操作系统是对进程进行操作的,而线程是由cpu进性实际调度的所以进程是操作系统分配资源的基本单位,线程是CPU调度和分派的基本单位。2》一个进程中可以包含多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进程至少包含一个线程3》进程的创建调用fork或者vfork,而线程的创建调用pthread_create,进程结束后它拥有的所有线程都将销毁,而...
2020-04-09 23:16:33 111
union需要注意的点
在联合体中,各成员共享一段内存空间, 一个联合变量的长度等于各成员中最长的长度。应该说明的是, 这里所谓的共享不是指把多个成员同时装入一个联合变量内, 而是指该联合变量可被赋予任一成员值,但每次只能赋一种值, 赋入新值则冲去旧值。一个联合体类型必须经过定义之后, 才能使用它,才能把一个变量声明定义为该联合体类型。4.联合体union所占内存空间大小:前边说了,首先,union的首地...
2020-04-09 22:34:55 285
原创 大端小端及其union的练习题
看了这个例子,一定会有这样的疑问:应该是00 00 00 01,为什么会是这样的 vs2013是小端存储,下面的这个图从左到右地址是由低到高。比如0x11223344在大端机上是11223344,在小端机上是44332211。大端:低地址存高位小端:低地址存低位 (小弟弟)先来说清楚,32位内存地址的,虽然我们在看一个二进制数的时候比如01111011,是从后往前看的...
2020-04-09 22:32:44 1141
转载 数据库并发操作带来的问题
(1)丢失更新当两个或多个事物读入同一数据并修改,会发生丢失更新问题,即后一个事物更新的结果被前一事务所做更新覆盖 即当事务A和B同事进行时,事务A对数据已经改变但并未提交时B又对同一数据进行了修改(注意此时数据是A还未提交改变的数据),到时A做的数据改动丢失了(2)不可重复读当两个数据读取某个数据后,另一事务执行了对该数据的更新,当前一事务再次读取该数据(...
2020-04-09 00:31:01 216
转载 strlen() sizeof() lenth()函数的返回值问题
这三个函数的返回值类型是一样的都是unsigned int。在使用这几个函数的时候,如果是让这几个的返回值直接和整数比较是没有问题的,但是如果是和一个负数比的话就出问题了,先看看下面这个例子:#include<iostream>#include<string>using namespace std;int main(){string a="abcd";...
2020-04-08 23:15:07 406
原创 判断题:vector所装的元素是的内存可以是不连续的
我觉得是连续,因为vector的底层是array,是支持随机访问的,所以有几个函数,比如at函数,和[ ],来访问元素,如果内存不连续,则访问元素的时候,会出现这几个函数无效。...
2020-04-08 22:55:25 1554
原创 markdown语法中 ![text](aaa.jpg)表示
![]()快捷语法输入img回车即可例:![aaa](./程序.jpg)若是图片路径原因显示不出来,会显示aaa若可以正确显示则显示图片。详见:https://blog.csdn.net/qq_40670268/article/details/80179575...
2020-04-08 22:20:21 199
原创 判断题:使用链表比使用数组更容易造成内存碎片化(错误)
正如上图所示,数组在内存中是一段连续的存储单元,每个数据依次放在每个单元中。分析这种结构,我们可以得出以下几个结论:创建一个数组,必须声明其长度,以在内存中寻找合适的一段连续存储单元。这也意味着数组的大小是固定的,我们无法动态调整其大小。想要获取数组中第i个元素,其时间复杂度是 O(1),因为可以根据其地址直接找到它。同理修改也是。数组对查询表现一般,要想查找一个元素,需要遍历,时间复...
2020-04-08 21:58:48 951
转载 Centos7 死循环登录问题
问题:用户名和密码输入正确,登录后屏幕闪一下又回到初始的登录界面。不知道具体什么原因引起的,先记录下不知道是否正确的解决方案,网上找了些相关的方案有的也实现不了,可能这个问题跟装的虚拟机的版本也有关系。我出现这个问题是在装了Hadoop先关的一些工具后出现的,解决方法是开机进入单用户模式,输入账号密码后删掉了/etc/profile下的export部分,(可能自己写错了吧,只删了一部分)。造成这个...
2020-04-02 13:13:00 4400
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人