自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 重构二叉树(C++)

题目描述根据一棵树的前序遍历与中序遍历构造二叉树。具体过程根据前序序列第一个结点确定根结点根据根结点在中序序列中的位置分割出左右两个子序列对左子树和右子树分别递归使用同样的方法继续分解TreeNode* reConstructBinaryTree(vector<int> pre,vector<int> in) { if(pre.size(...

2020-03-29 12:07:46 600

原创 【Linux】浅谈Ext2文件系统

Ext2文件系统在上图中可以看出,ext2文件系统将整个分区划成若干个同样大小的块组(Block Group),从Block Group 0 到Block Group n。启动块(boot block)  文件系统中存储的最小单位是块(Block),而上图中启动块(Boot Block)的大小是确定的,就是1KB,启动块是由PC标准规定的,用来存储磁盘分区信息和启动信息,任何文件系统都不...

2020-03-27 16:36:58 303

原创 【Linux】将输出重定向到文件或程序

标准输入、标准输出和标准错误一个进程需要从某个位置读取输入并将输出写入到屏幕或文件。从 shell提示符运行的命令通常会从键盘读取其输入,并将输出发送到其终端窗口。进程使用称为文件描述符的编号通道来获取输入并发送输出。所有进程在开始时之前需具有三个文件描述符。标准输入(通道 0)从键盘读取输入。标准输出(通道 1)将正常输出发送到终端。标准错误(通道 2)将错误消息发送到终端。如果程序打开连接...

2020-03-26 23:38:07 3407

原创 IO多路复用机制select、epoll

I/O多路复用的本质是通过一种机制(系统内核缓冲I/O数据),让单个进程可以监视多个文件描述符,一旦某个描述符就绪(一般是读就绪或写就绪),能够通知程序进行相应的读写操作与多进程和多线程技术相比,I/O多路复用技术的最大优势是系统开销小,系统不必创建进程/线程,也不必维护这些进程/线程,从而大大减小了系统的开销。但是基于用户态的轮询处理,同一时间处理大量的描述符会不公平,因为它是一个一个处理...

2020-03-26 22:27:58 213

原创 【Linux】Tcp编程常用接口

文章目录Tcp传输过程创建套接字为套接字绑定地址信息服务端监听连接客户端发起连接请求服务端接受连接发送数据接受数据关闭套接字Tcp传输过程创建套接字socket()打开一个网络通讯端口,如果成功的话,返回一个文件描述符对于IPv4,family参数指定为AF_INET对于TCP协议,type参数指定为SOCK_STREAM,表示面向流的传输协议protocol传输层协议类型如...

2020-03-24 22:37:03 177

原创 【Linux】udp编程常用接口

创建套接字在内核中创建struct socket结构体,使进程与网卡之间建立联系#include <sys/socket.h>int socket(int domain, int type, int protocol);domain:地址域         AF_INET——IPv4地址域type:套接字类型    SOCK_STREAM——流式套接字    SOCK...

2020-03-24 21:32:36 252

原创 【C++】虚函数的声明和定义

多态(Polymorphism)是面向对象程序设计最重要的特性之一。C++ 通过结合虚函数和指针(引用)来实现多态。作为 C++ 用户,你当然知道如何将虚函数和指针(引用)结合起来以实现多态。但在这些概念之间,可能还存在些许模糊地细节问题。虚函数的定义根据 C++ 标准,虚成员函数应在类定义中生命,且必须有定义(实现)。注意,在类外定义实现虚成员函数时,不能再加 virtual 关键字。st...

2020-03-19 13:06:48 8940

原创 【STL】map、set简介以及常用接口

map、multimap、set、multiset底层都是红黑树map && multimap参考文档:  map  multimapmap和multimap里面存储的是<key, value>结构的键值对,键值对用来表示具有一一对应关系的一种结构,该结构中一般只包含两个成员变量key和value,key代表键值,value表示与key对应的信息。关于键值对...

2020-03-18 20:00:34 147

原创 【C++】智能指针——值得一看

RAII(Resource Acquisition Is Initialization)是一种利用对象生命周期来控制程序资源(如内存、文件句柄、网络连接、互斥量等等)的简单技术。在对象构造时获取资源,接着控制对资源的访问使之在对象的生命周期内始终保持有效,最后在对象析构的时候释放资源。借此,我们实际上把管理一份资源的责任托管给了一个对象。这种做法有两大好处:不需要显式地释放资源。采用这种方...

2020-03-13 14:33:10 116

原创 【C++】异常

异常

2020-03-13 08:56:05 128

原创 【Linux】线程池(C++实现)

线程池一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可用的并发处理器、处理器内核、内存、网络sockets等的数量。实现一个线程池先封装一个待处理的数据和处理数据的函数 class ...

2020-03-07 18:45:27 245

原创 【数据结构】AVL树干货

@toc

2020-03-02 09:03:29 131

原创 【数据结构】简单介绍红黑树

@toc

2020-03-01 19:47:21 142

原创 【数据结构】快学二叉搜索树

二叉搜索树

2020-03-01 08:28:43 89

空空如也

空空如也

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

TA关注的人

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