摘要: 背景 了解套接字的读写操作在阻塞模式、非阻塞模式下的表现会有差异,但是不知道read()、write()操作套接字时具体的效果; read()想要读取的数据字节数并不一定等于实际读取到的字节数,如何使读操作实际读取的字节数与想要获取的字节数一样?write()类同。 读写操作什么情况下会被阻塞? 读 阅读全文
posted @ 2021-08-23 23:17 zpchya 阅读(645) 评论(0) 推荐(0) 编辑
摘要: 引入 在工程代码中,都会有较为规范的日志信息,除了表达函数是否正常执行、变量值为多少等调试信息外,还有功能模块、打印等级(debug打印、error打印)、所在文件、行数以及函数等信息。 有两种方法可实现, 如下: 定义自己的打印函数 void print_log(int functionModul 阅读全文
posted @ 2021-07-26 23:55 zpchya 阅读(791) 评论(0) 推荐(1) 编辑
摘要: 一 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 二 解法一 阅读全文
posted @ 2019-09-06 16:08 zpchya 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 一 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 二 解法1 1 分析 跳台阶问题是经典的递归问题,那么我们需要知道递归公式和递归终止条件。 1.1 递归公式 青蛙跳上n级台阶有两种情况可以实现,一是从n-1级台阶跳 阅读全文
posted @ 2019-08-26 15:16 zpchya 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 一 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 二 解法1 1 分析 Fibonacci数列用数学语言描述可以表示为f(n) = f(n-1) + f(n-2), (n > 1); f(n) = n, (n = 0, 1 阅读全文
posted @ 2019-08-26 14:55 zpchya 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 一 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 二 解法1 1 分析 如果该节点有右子树,那么下一个结点就是右子树的最左结点;如果该节点没有右子树但是是父节点的左结点,那么他的父节点就是下一个结点; 阅读全文
posted @ 2019-08-22 16:11 zpchya 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 一 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 二 解法1 1 分析 队列的特点是队尾进、队头出,先进先出的结构。而栈是栈顶入栈、栈顶出栈,先进后出的结构。所有用两个栈实现一个队列,那么这两个栈需分别存放入栈顺序队列元素,另一个栈存放相反顺序的队列 阅读全文
posted @ 2019-08-22 14:29 zpchya 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 一 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 二 解法1 1 分析 重建二叉树的经典做法是和遍 阅读全文
posted @ 2019-08-21 15:12 zpchya 阅读(156) 评论(0) 推荐(0) 编辑
摘要: SQL的语法像自然语言,以命令模式表达语句。以描述行为的动词开始,接下来是主语和谓语,由分号";"结尾。如下所示: SQL的易用性非常高,因为它是声明式语言而非命令式语言,它是为非技术人员设计的。声明式语言是描述想要什么,命令式语言是描述达到目标的如何做的过程,如C语言。 1 常量 SQL中有3种类 阅读全文
posted @ 2019-07-16 17:14 zpchya 阅读(376) 评论(0) 推荐(0) 编辑
摘要: SQLite核心API是用于执行基本数据库操作的函数,包括:连接数据库、处理SQL、迭代查询结果。还有有助于字符串格式化、运行控制、调试和错误处理的实用函数。我们可以将sqlite3结构指针看做是一个对象,sqlite_open()等连接函数看做是它的构造函数,sqlite_close()等断开函数 阅读全文
posted @ 2019-07-15 15:06 zpchya 阅读(716) 评论(0) 推荐(0) 编辑