2022年1月3日

摘要: 先来看一个问题:一个秘书打好4个封信和相应的四个信封,现在秘书将这四封信随机装入四个信封当中(每个信封装一封信),问每个信封都被装入原来和自己不对应的信封的装法一共有多少种? 答案是9种。 首先我们将这个文件进行进一步简化,假设1封信,1个信封:0种(不可能放错)2封信,2个信封:1种(交换)3封信 阅读全文
posted @ 2022-01-03 21:57 换甲 阅读(884) 评论(0) 推荐(0)
 

2021年12月26日

摘要: 在我们写代码的过程中,Bug是不可避免的.为了找出这写BUG,我们常常需要借助调试工具.在Windows下,我们可以借助各种各样的IDE来进行调试,例如visual studio,visual code,codeblocks等.在Linux平台下,同样也有调试工具,今天这篇博文就来介绍Linux下面 阅读全文
posted @ 2021-12-26 16:51 换甲 阅读(3279) 评论(0) 推荐(0)
 

2021年12月17日

摘要: 多线程编程时,需要通过多个线程来处理多个任务。如果不经过优化,那么最简单的想法应该是每到来一个任务,就创建一个线程用来处理这个任务,当这个任务处理完毕,就销毁这个线程。但是这个简单的想法会带来大量的时空开销。设想,假如有成百上千个任务,为了处理它们,岂不是要创建和销毁线程成百上千次,这显然是不划算的 阅读全文
posted @ 2021-12-17 21:42 换甲 阅读(295) 评论(0) 推荐(0)
 

2021年12月8日

摘要: 拓扑排序 一、有向无环图 学习拓扑排序必须先要了解有向无环图(Directed Acyclic Graph,DAG)。有向无环图,顾名思义就是不存在环结构的有向图。从有向无环图的任意一个顶点出发,都没有办法回到该节点。 二、拓扑排序 拓扑排序是关于DAG图最重要的应用之一。拓扑排序将DAG图排列成一 阅读全文
posted @ 2021-12-08 22:31 换甲 阅读(92) 评论(0) 推荐(0)
 

2021年11月21日

摘要: vim介绍 vim是一款Unix/linux平台下的文本编辑器.相对于其他编辑器,vim为使用者提供了很多的操作,以实现各种各样的功能.如果能把这些功能融汇贯通,使用者就可以大大提升文本编辑的效率.除了传统的文本编辑以外,很多人把它直接当作一款软件开发工具,来加速开发.vim就像原来的五笔打字一样, 阅读全文
posted @ 2021-11-21 11:46 换甲 阅读(493) 评论(0) 推荐(0)
 

2021年10月29日

摘要: 字典树是一种多叉树,一般用来存储一个字符串集合。字典树的边记录了字符串的一个字符,从根节点出发,不同路径就相当于不同的单词(或者单词前缀),为了确定字符串是不是到头了,需要为每个节点记录一个标志,用以判断。下面是字符串集合和字典树的对应关系。 字典树的数据结构: 1 struct TrieNode{ 阅读全文
posted @ 2021-10-29 22:43 换甲 阅读(177) 评论(0) 推荐(0)
 

2021年10月28日

摘要: 事务的隔离性 数据库的事务有四大特性:原子性,一致性,隔离性,持久性。其中隔离性指的是在有多个事务在一个数据库上同时执行时,不会造成数据的不一致。理想状态下,事务应该互不干扰。可是要实现这一点并不容易,必须要通过数据库锁机制配合,这就会带来极大的性能开销。所以,就有了数据库隔离级别的概念,不同隔离级 阅读全文
posted @ 2021-10-28 11:29 换甲 阅读(333) 评论(0) 推荐(0)
 

2021年10月24日

摘要: 函数指针,是指向函数的指针。定义函数指针是,要指明函数的返回类型和形参列表。 int (*p)(int,int); //定义一个函数指针 p是一个函数指针,它指向函数的返回类型为int类型,用两个int类型的形参。 给函数指针赋值 当我们把函数名作为一个值使用时,该函数自动转化为指针。所以可以用函数 阅读全文
posted @ 2021-10-24 21:01 换甲 阅读(530) 评论(0) 推荐(0)
 
摘要: typedef是C/C++中一个很关键的关键字,它的作用是用来给类型起别名。因为在遇上不同数据类型,尤其是复杂类型,typedef的用法有一些细微的差距,所以很多人会有一些疑惑,今天我就来整理一下。 typedef关键字主要用来给一下几种类型起别名: 基本数据类型 结构体 数组 枚举类型 指针 函数 阅读全文
posted @ 2021-10-24 17:09 换甲 阅读(1286) 评论(0) 推荐(1)
 
摘要: 随机数指的是从一个可能的范围中挑选出一个值返回,每一个范围内的数字被选中的概率是一样的。C++中提供了一系列函数来实现随机数生成。 1. rand rand函数每次都返回一个0~65536范围内的随机整数。这些随机数通过算法生成,并不是真正的随机数。 1 #include <iostream> 2 阅读全文
posted @ 2021-10-24 11:47 换甲 阅读(88) 评论(0) 推荐(0)