Golang Golang 中 glog 库的使用方法 一、关于 glog 库 golang 中的 glog 库是 google 著名开源 C++日志库 glog 的 golang 版本,在 golang 默认日志库的基础上做了更进一层的封装使得该库能更贴近日常使用。项目首页为 gol... 09 月 08 日3,579评论 阅读全文
编程语言 实现函数 strcpy/memcpy/memmove 一、 strcpy strcpy 是字符串拷贝函数,将一个字符串拷贝到另一个字符串。 代码: [crayon-68213b1e6bc7a547563817/] 实现该函数的注意点: 传入参数 src 使用 co... 09 月 08 日931评论 阅读全文
数据结构和算法 234-回文链表 来源:力扣 (LeetCode) 链接:234. 回文链表 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 一、题目描述 请判断一个链表是否为回文链表。 示例 1: 输入:1-&g... 05 月 06 日815评论leetcode 阅读全文
数据结构和算法 排序算法五:堆排序 一、堆排序原理 通过最大堆的性质可以知道:一个堆中最大的元素总是在堆顶的,即数组下标 0 的位置。基于这一点,我们可以每次都把堆中的最大值提取出来,放到当前数组的后面。然后重新构建最大堆,重复这个过程,以... 04 月 27 日288评论排序 阅读全文
数据结构和算法 数据结构之堆 一、堆 堆是一种数据结构,通常通常所说的堆即二叉堆。二叉堆是一个数组,可以被看成一个完全二叉树,如下图所示: 他在数组中的表现形式为: 通过数组很容易得到每个父节点和其子节点的关系,假设数组的起始下标... 04 月 27 日223评论 阅读全文
数据结构和算法 排序算法七:计数排序 一、计数排序 其基本思想为:假设 n 个输入的元素中的每一个都是在 0 到 k 之间的一个整数,对于每一个输入元素 x,确定小于 x 的元素个数,直接把 x 放在它输出的数组中的位置上。例如有 17 个元素小于 x,则 x 就应该在... 04 月 27 日430评论排序 阅读全文
操作系统 进程和线程的区别 一、两者对比 进程是最小的资源分配单位,线程是最小的执行单位: 每个进程至少有一个线程,任务的执行都是由线程来完成,也就是说,线程时进程运行时的实体。 线程运行时依赖进程中分配的资源,一个进程可以有多... 04 月 17 日143评论 阅读全文
操作系统 linux 可执行程序 elf 文件分析及进程的内存分布情况 一、 ELF 文件 ELF(Executable and Linkable Format) 文件是 linux 下的二进制可执行文件,它同时兼容可执行文件和可链接文件。 一个 ELF 文件包含两个部分:一个固定长度... 04 月 06 日950评论 阅读全文
C/C++ extern "C"语句的作用 c++中,调用 c 语言函数时要对函数添加声明 extern "C",这是因为 c 和 c++的符号表机制不一样导致的。 假设存在函数 fun,经过 gcc 编译后,该函数在符号表中的名字是 fun,但是经过 g++编译后... 03 月 15 日196评论 阅读全文
数据结构和算法 2-两数相加 来源:力扣 (LeetCode) 链接:https://leetcode-cn.com/problems/add-two-numbers 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出... 02 月 15 日971评论leetcode 链表 阅读全文