自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

From zero

昨夜西风凋碧树。独上高楼,望尽天涯路。

  • 博客(14)
  • 收藏
  • 关注

原创 shell命令重定向与管道

重定向 重定向标准输出:>file or 1>file重定向标准错误:2>file重定向标准输出和错误到同一文件:>file 2>&1重定向标准输入:< file管道: cmd1 | cmd2 把cmd1的输出重定向到cmd2的标准输入符号解释 > 输出,< 输入, 0 标准输入,1 标准输出,2 标准错误

2017-03-10 15:52:01 454

原创 字符串匹配Sunday算法C++实现

模式匹配算法都需要一个源串的滑动指针i和模式串的滑动指针j。普通的匹配算法在字符失配时需要同时回溯i和j,复杂度为o(m*n)。而改进的KMP匹配算法算法就是在失配时不回溯源串指针i,只回溯j到最长前缀处使得复杂度达到哦o(n)。而Sunday算法不仅不回溯i,而且可以使i跨越模式串前进,进一步降低复杂度,而且如果不谈Sunday算法的原理,单就算法本身和实现来讲要比KMP算法简单很多,更加容易理解

2016-03-04 12:04:21 3297

原创 KMP字符串匹配算法的分析实现

KMP算法中的next数组构造是一个关键问题,但是博主发现next数组的构造方法有很多,不同的算法实现中构造出的next数组也有所不同,有些方法实在是晦涩难懂。【经典算法】——KMP,深入讲解next数组的求解,这篇博客提供了一种比较简明的理解和构造next数组的方法。引入最长部分匹配长度的概念,实质上就是字符串的前缀(去掉首字符)和后缀(去掉尾字符)相同的最大长度:“A”的前缀和后缀都为空集,共

2016-02-14 13:40:29 521

原创 平衡二叉树(可重复key)插入删除(c/c++实现)

平衡二叉树插入,比较简单,主要工作在插入结点后的调平,通过递归调用InsertAVL,插入结点调整返回调整后的数高度是否变化,依次调整返回,平衡二叉树插入结点的调整有四种情况,实现主要是在R_Balance和L_Balance里。删除结点要复杂一点,递归查找删除结点,找到后判断:外界链表是否为空,如果不空取下一个,树不变否则:1)如果为叶子结点,直接删掉,调整返回2)如果只有一

2015-04-17 16:17:21 1047

原创 c++构造、析构顺序

在创建class a的一个对象的时候,拿new运算符来说,他总是会先去请求一块该对象期望大小的内存,然后调用class a的构造函数并传入所申请内存的地址作为this指针完成构造。 如果class a有其他类类型的成员变量,或者继承自其他类的话,他们的构造顺序又会是怎样的呢?下边是测试代码:class a{public: a() { cout << "ac" <

2015-03-29 10:59:24 627

原创 windows窗口类的封装——内联汇编传this

先贴一段简单的用 Windows Api创建窗口的代码: #include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ stat

2014-12-25 00:35:10 586

原创 const对象,const成员函数总结

const对象:为了防止对象内容被更改,在对象声明前加上const限定符将其声明为const对象,const对象必须在声明的时候直接初始化。const对象仍然是个左值,但是这个左值是不可修改的,任何企图修改const对象的尝试都会导致编译错误。把一个非const变量定义在文件中,假设已经做了合适的声明,就可在另外的文件中使用://file1.cppint counter;  /

2014-12-07 10:51:17 1135

原创 torrent文件解析,bencode编码文件解析及其c语言实现

Torrent文件的所有内容是一个Bencoding的字典。

2014-11-19 21:12:02 1604

转载 C语言中的EOF和feof()

在c语言中经常用EOF和feof()来判断文件的结束,现将有关用法总结如下:定义EOF是End Of File 的缩写,是c语言中标准库中定义的宏,定义为:#define  EOF  (-1);  feof() 用于测试流文件的结束,有宏和函数两种定义:宏定义: #define feof(_stream)  ((_stream)->_flag & _IOEOF),其中_IOEO

2014-10-23 16:46:47 667

原创 unix\linux编程学习笔记之终端模式

1、规范模式规范模式,

2014-10-06 16:23:37 844

转载 exit(0)与exit(1)、return区别

exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在主函数中,则会退出函数并返回一值。详细说:  1. return返回函数值,是关键字;  exit 是一个函数。  2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。  3. retur

2014-10-02 13:38:46 378

转载 printf、sprintf与fprintf 的用法区分

1: fprintf()#include  int fprintf( FILE *stream, const char *format, ... );fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.因此fprintf()可以使得信息输出到指定的文件.比如    char name[20] = "Mary";    FILE

2014-10-02 13:34:10 374

原创 查看系统版本号

一、查看内核版本方法一: 命令: uname -a 作用: 查看系统内核版本号及系统名称 方法二: 命令: cat /proc/version 作用: 查看目录"/proc"下version的信息,也可以得到当前系统的内核版本号及系统名称 补充说明: /proc文件系统,它不是普通的文件系统,而是系统内核的映像,也就是说,该目录中的文件是存放在系统内存之中的,它以文

2014-10-01 10:17:25 784

原创 ctags操作命令

Ctrl+]  跳到当前光标下单词的标签Ctrl+O  返回上一个标签Ctrl+T  返回上一个标签:tag TagName 跳到TagName标签以上命令是在当前窗口显示标签,当前窗口的文件替代为包标签的文件,当前窗口光标跳到标签位置。如果不希望在当前窗口显示标签,可以使用以下命令::stag TagName 新窗口显示TagName标签,光标跳到标签处Ctrl+W +

2014-10-01 09:55:14 522

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除