总结一些我们在平时使用vim编辑器的一些实用功能,后续会一直更新。
visual插件
visual插件其实相当于一个书签作用,比如我们在一篇很长的源代码文件中,我们可以标记一行,然后后来我们再想回到这一行时,只需要一个快捷键就能迅速定位到这一行,非常方便,不用不停地往上或往下翻。
常用命令
mm标记一个标签;F2回到被标记的那一行;连续按两次mm就可以取消标签;shift+F2可以...
题目链接:点击打开链接
题意比较明显,不赘述。
删除时可以把i-1转到根,把i+1转到根下
则i点就在 根右子树 的左子树,且只有i这一个 点
#include
#include
#include
#include
using namespace std;
#define N 300500
#define inf 10000000
#define L(x) tree[x].ch[0]
#d...
工作也已经接近两年了,给自己一个小的总结,谈论一下软件研发中的术与道。
所谓术,乃技术之意,软件研发过程中,技术直接关系到一个项目的成功与否。所谓技术有可以分为很多层面。编程语言层面,ruby、java、等等语言只是一种表达逻辑的方式,没有什么那种语言好那种语言坏之说。每一种语言都有自己适合的应用场景。比如ruby就强调代码的可读性。java等就兼顾了很多效率。c就是性能中的奶霸,但是可读性就一...
ID为0的进程通常是调度进程,常被称为交换进程(swapper),是内核中的系统进程。
ID为1的进程叫做init进程,是一个普通用户进程,不属于内核,由内核调用。
一个现有进程可以调用fork函数创建一个新进程(子进程)。fork函数被调用一次,返回两次。子进程返回值为0,父进程返回值为子进程的进程ID。
当fork出一个子进程后,子进程便拥有独立的数据段、堆、栈的副本,但...
内核要执行一个应用程序,唯一的途径是通过系统调用,exec函数,exec又会调用启动程序,启动程序(通常是汇编语言)以类似下面的方式调用main函数:
void exit(main(argc, argv));
那么在main函数末尾使用exit(0)和使用return 0是等价的。这里有三个正常终止程序的函数:
void exit(int status); // 先执行一些清理操作,...
function getServiceUrl() {
var serverUrl = Xrm.Page.context.getServerUrl();
if (serverUrl.match(/\/$/)) {
serverUrl = serverUrl.substring(0, serverUrl.length - 1);
}
retur...
最近在做有关图像格式转换的东西,以前对这一块还真有点缺失,只能周末补补。
在计算机中,数据是以文件的形式存储在外存储器上的。将图像数据以文件形式保存在外存储器上就形成了图像文件,图像文件就是以数字形式存储的图像数据。
图像文件一般由文件头、调色板数据和像素数据3部分组成。文件头用于存放图像文件的各种参数,这些参数表征了图像本身的许多特性;调色板是图像的颜色索引表;像素数据是图像信息的实体所在,...