排序
利用二级指针删除单向链表——笔记
今天看到这篇Linus:利用二级指针删除单向链表,作个笔记。 关于在单向链表中删除一个指定的节点,通常有两个易错点。 找到指定节点删除时,忘了备份这个节点里指向下一个节点的指针。 没有特殊...
一个看上去是bug却是正确插入排序变种
看到一个有意思的排序算法,一开始看上去像是冒泡排序写错了。但实际上却是正确的排序算法,做个分析。文章链接 本质上是一个插入排序算法 算法 算法介绍 未知排序算法 不知道这个什么语言,但...
Golang 代码拾遗
摘要 本文主要记录golang的常用代码片段和特殊的代码写法。 内容 var _ 检测接口中的方法是否被定义 可以在结构体未被使用前,让编译器检查其是否实现了接口所需的所有方法。 代码 // 检查 Noki...
几个Git使用技巧
Git免密登录 Http的免密登录 git使用http地址时,需要输入账号密码的。如果把配置于存到本地文件,因为store是明文存放,所以容易造成密码泄露。 可以执行以下命令,把凭证超时时间设置的很久。...
Go语言的可变长参数函数
一般情况一个函数的传入参数都是固定的,但是有一些函数能传入不定数量的参数(可变长的)。比如c语言中的printf。可以看:《C语言“…”占位符及可变参数函数》 在Go语言中,也有这样的函数。...
C/C++语言的可变长参数函数
通常C语言函数定义是固定类型和数量的。那么有没有传递任意个数参数的方法呢? 常见函数 我们把参数个数可变,参数类型不定的函数称之为不定长参数函数或可变长参数函数。 比如printf(),scanf(...
MarkDown常用代码片段和工具
常用HTLM代码 markdwon可以支持Html代码,所以很多原生markdown没有的功能,就可以用Html写了。 字体 这是较为常用的几个字符样式代码 <font face='黑体'>我是黑体字</font> <fo...
单向链表翻转实现
链表管理会用到指针,指针是非常灵活的数据结构,但也容易掉坑里。 翻转链表,主要是要考虑好它的结构。可以画图来帮助思考。然后就是注意一些变量的变化。 #include <string> #include &...
关于C语言struct的特殊扩展技巧
《Unix/Linux编程实践教程》中P69页,有写道,dirent结构中成员d_name用于存放文件名。注意在此系统中d_name被定义为只有一个元素的数组,这是如何做到的能?因为一个自负的空间只能存放字符串...