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