自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 对于APUE中信号的 #define SIG_ERR (void(*)())-1 的理解

在学习 APUE 的信号章节中,我们知道 Linux 中最简单的信号接口如下:#include <signal.h>void (*signal(int signo, void (*func)(int)))(int);//返回值:若成功,返回以前的信号处理配置;若出错,返回 SIG_ERR参数:signo:上面给出的信号名。func:常量值 SIG_IGN、常量 SIG_DEL 或当接到此信号后要调用的函数的地址。如果指定 SIG_IGN,则向内核表示忽略此信号(但是信号 SIGK

2021-09-08 23:46:36 397

原创 线索二叉树的详细实现(C++)

线索二叉树概述二叉树虽然是非线性结构,但二叉树的遍历却为二叉树的结点集导出了一个线性序列。如果我们希望很快找到某一结点的前驱或后继,但不希望每次都要对二叉树遍历一遍,这就需要把每个结点的前驱和后继信息记录下来。为了做到这一点,可在原来的二叉链表中增加一个前驱指针域(pred)和一个后继指针域(succ),分别指向该结点在某种次序下的前驱结点和后继结点,但是这种方法将会导致很多结点中有没有利用的空指针,先看下面的例子。比如:现在有一个结点数为 n 的二叉树,采用二叉链表形式存储。对于每个结点均有指向左右

2021-09-06 00:02:29 3192

原创 ProtoBuf详解(二)编码风格

本片文章主要介绍 protobuf 的编码风格,这些都是 google 官方推荐的 proto 文件编码风格,遵循这些风格编写 proto 风格,可以使团队的 ProtoBuf 消息定义和风格保持一致,有利于阅读和维护。protobuf 的风格可能会随着不同版本变化,有可能会看到 .proto 文件以不同的风格编写,但是最好采用当前的最佳风格,请参考官方 Protobuf Style Guide。文件的标准格式每行的长度保持在 80 个字符以内。使用 2 个空格缩进。(注:这里实际使用 4 个空格

2021-09-05 17:26:56 637

原创 二叉树的详细实现(C++)

关于二叉树的概念,已经在树的基本概念中详细描述,这里不做过多赘述。本文将对二叉树进行详细实现,采用 C++ 语言。二叉树结点类型定义template <typename T>struct BinTreeNode{ T data; //结点中存储的数据 BinTreeNo

2021-09-05 17:02:17 9479

原创 树的基本概念

树型结构,不同于线性数据结构,比较适合用于描述分支结构的数据,这种数据之间可能有祖先和后代的关系。在计算机中树型结构应用非常广泛,例如在文件系统和数据库系统中,树是组织信息的重要形式之一。树的定义树是一种数据结构,是由 n(n ≥ 1)个有限节点组成的一个具有层次关系的集合。树的示意图如下:之所以被叫做树,是因为看起来像一棵倒过来的树,也就是根朝上,叶朝下。从上图中可以看出它具有如下特点:每个节点有零个或者多个子节点,树是一个递归的定义,即树的定义中又用到了树的概念。没有父节点的节点称

2021-09-05 16:32:53 1333

空空如也

空空如也

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

TA关注的人

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