摘要: Linux进程间的通讯 Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限 阅读全文
posted @ 2019-08-31 23:48 WindSun 阅读(2195) 评论(1) 推荐(1) 编辑
摘要: 经典的约瑟夫斯 问题描述: 有n个人围成一圈,从1开始顺序排号。从第一个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号? 数组循环模拟法 数学推理法 无论是用链表实现还是用数组实现都有一个共同点:要模拟整个游戏过程,不仅程序写起来比较烦,而且时间复杂度高,当n,m非常大 阅读全文
posted @ 2019-08-31 23:01 WindSun 阅读(2322) 评论(0) 推荐(0) 编辑
摘要: 前言 几种进程间的通信方式:管道,FIFO,消息队列,他们的共同特点就是通过内核来进行通信(假设POSIX消息队列也是在内核中实现的,因为POSIX标准并没有限定它的实现方式)。向管道,FIFO,消息队列写入数据需要把数据从进程复制到内核,从这些IPC读取数据的时候又需要把数据从内核复制到进程。所以 阅读全文
posted @ 2019-08-31 14:53 WindSun 阅读(542) 评论(0) 推荐(0) 编辑
摘要: POSIX消息队列概述 消息队列是Linux IPC中很常用的一种通信方式,它通常用来在不同进程间发送特定格式的消息数据。 消息队列和管道和FIFO有很大的区别,主要有以下两点: 一个进程向消息队列写入消息之前,并不需要某个进程在该队列上等待该消息的到达,而管道和FIFO是相反的,进程向其中写消息时 阅读全文
posted @ 2019-08-31 11:57 WindSun 阅读(1023) 评论(0) 推荐(0) 编辑
摘要: 基本理解 extern放在变量或者函数之前,表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 extern有两个作用 1.当它与"C"一起连用时,如: extern "C" void fun(int a, int b);告诉编译器在编译fun这个函数名时按着C 阅读全文
posted @ 2019-08-30 12:58 WindSun 阅读(21863) 评论(0) 推荐(4) 编辑
摘要: 全局静态变量 全局变量前加上关键字static,全局变量就定义成一个全局静态变量.,全局静态变量存储在静态存储区,在整个程序运行期间一直存在。全局静态变量在程序运行之前就存在。 初始化:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化)。 作用域:全局静态变量在声 阅读全文
posted @ 2019-08-30 12:57 WindSun 阅读(1835) 评论(0) 推荐(0) 编辑
摘要: const关键字 被const修饰的变量是不能改变的 const修饰变量时,必须在声明变量的同时给出初始化(类中的const成员变量不一样) 顶层const与底层const 顶层const 定义为变量本身是一个常量,因此对一切的内置类型常量而言,所有的const都是顶层const 对指针来说,常量指 阅读全文
posted @ 2019-08-30 12:57 WindSun 阅读(763) 评论(0) 推荐(0) 编辑
摘要: static\_cast 相当于C语言中的强制转换:(类型)表达式或类型(表达式),用于各种隐式转换 非const转const、void\ 转指针、int和char相互转换 用于基类和子类之间的 指针和引用 转换,非指针直接报错 向上转化是安全的,如果向下转能(指针或引用)成功但是不安全,结果未知; 阅读全文
posted @ 2019-08-30 12:55 WindSun 阅读(1437) 评论(0) 推荐(0) 编辑
摘要: const与 define的区别 编译器处理方式不同 define宏是在预处理阶段展开。 补充:预处理器根据以 开头的命令,修改原始的程序。比如我们常见的 include 命令告诉处理器读取系统头文件stdio.h的内容,并把它直接插入程序文本中。咱们的 define也是,仅仅是单纯的文本替换。 c 阅读全文
posted @ 2019-08-30 12:55 WindSun 阅读(1272) 评论(1) 推荐(0) 编辑
摘要: 1.变量 首先最重要的,variable的定义,当你申明一个变量的时候,计算机会将指定的一块内存空间和变量名进行绑定;这个定义很简单,但其实很抽象,例如:int x = 5; 这是一句最简单的变量赋值语句了, 将5赋值于名字叫做x的内存空间,其本质是将值5赋值到一块内存空间,而这个内存空间名叫做x。 阅读全文
posted @ 2019-08-30 12:54 WindSun 阅读(9751) 评论(0) 推荐(4) 编辑
摘要: 为什么析构函数要声明成virtual呢? 因为,如果delete一个基类的指针时, 如果它指向的是一个子类的对象,那么析构函数不为虚就会导致无法调用子类析构函数,从而导致资源泄露。 如果一个类要被使用成 多态 的,那么这个 virtual是必须 的。比如: delete pa 实际上相当于: 释放p 阅读全文
posted @ 2019-08-30 12:51 WindSun 阅读(1303) 评论(0) 推荐(0) 编辑
摘要: 以String类为例实现其成员函数 阅读全文
posted @ 2019-08-30 12:41 WindSun 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 代码中的family_##who表示以family_为前缀,将who为后缀与前缀连接,合成一个名字 参数前面的#使用来取参数的实值,ADD(1,200)运行结果为201 阅读全文
posted @ 2019-08-24 16:38 WindSun 阅读(1985) 评论(0) 推荐(0) 编辑
摘要: TCP的状态转换图 手写的状态转换图 一、服务端状态变迁:​ 服务端创建套接字之后调用listen函数将套接字有一个未连接的主动套接字转换为被动套接字,指示内核应接受指向该套接字的连接请求,套接字状态由CLOSE转换为LISTEN,等待客户端连接。所以服务端是被动接收连接的,服务端会先收到SYN,收 阅读全文
posted @ 2019-08-24 15:26 WindSun 阅读(1094) 评论(0) 推荐(0) 编辑
摘要: 【原文:https://cloud.tencent.com/developer/article/1155143】 AVL树简介 AVL树的名字来源于它的发明作者G.M. Adelson-Velsky 和 E.M. Landis。AVL树是最先发明的自平衡二叉查找树(Self-Balancing Bi 阅读全文
posted @ 2019-08-19 21:00 WindSun 阅读(7642) 评论(0) 推荐(3) 编辑
摘要: 算法总结 详细十大排序算法:https://www.cnblogs.com/WindSun/category/1375215.html 图片名词解释: n: 数据规模 k: “桶”的个数 In-place: 占用常数内存,不占用额外内存 Out-place: 占用额外内存 算法的分类 比较和非比较的 阅读全文
posted @ 2019-08-15 22:57 WindSun 阅读(785) 评论(1) 推荐(0) 编辑
摘要: 前言 桶排序(Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶里。每个桶再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序),最后依次把各个桶中的记录列出来记得到有序序列。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分 阅读全文
posted @ 2019-08-15 22:43 WindSun 阅读(3317) 评论(0) 推荐(0) 编辑
摘要: 基本思想 计数排序是一种线性排序算法,它利用了一个数组,因为数组下标的增长是线性的,所以它就把自己的元素转换成新开辟数组的下标。可是下标都是非负数啊?数组当中的值有正有负啊。做一个简单的转化就行了:找到数组中最小元素,用元素值减去,这样一来,所有元素对应的下标就求出来了。(实际上感觉像是个映射函数? 阅读全文
posted @ 2019-08-15 22:31 WindSun 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 基本思想 基数排序是借助“分配”和“收集”两种操作对单逻辑关键字进行排序的一种内部排序方法。 数组下标从0-9,每个数组元素是一个链表 比如对一些三位数以内的树排序,先将个位的数值插入对应的下标的链表中,然后再放回原数组,放回的顺序和插入的顺序一致,将链表清空,再将十位的数字插入对应的下标的链表中, 阅读全文
posted @ 2019-08-15 22:15 WindSun 阅读(741) 评论(0) 推荐(0) 编辑
摘要: 基本思路 归并排序的基本思想是:首先将a[0..n-1]看成是n个长度为1的有序表,将相邻的k(k≥2)个有序子表成对归并,得到n/k个长度为k的有序子表;然后再将这些有序子表继续归并,得到n/k2个长度为k2的有序子表,如此反复进行下去,最后得到一个长度为n的有序表。 若k=2,即归并在相邻的两个 阅读全文
posted @ 2019-08-15 22:00 WindSun 阅读(604) 评论(0) 推荐(0) 编辑
博客已停更,文章已转移,点击访问