- 博客(62)
- 收藏
- 关注
转载 详解KMP算法
KMP算法应该是每一本《数据结构》书都会讲的,算是知名度最高的算法之一了,但很可惜,我大二那年压根就没看懂过~~~之后也在很多地方也都经常看到讲解KMP算法的文章,看久了好像也知道是怎么一回事,但总感觉有些地方自己还是没有完全懂明白。这两天花了点时间总结一下,有点小体会,我希望可以通过我自己的语言来把这个算法的一些细节梳理清楚,也算是考验一下自己有真正理解这个算法。 什么是
2017-12-26 17:39:31 178
原创 Class** 转换成 const Class**的问题
{// Test Class** to const Class**const int x = 100;int* pi;int** ppi = πconst int* cpi = &x;const int** cppi = &cpi;// cppi = ppi;// cannot convert from 'int **' to 'const int **'
2017-12-21 18:06:46 422
原创 二分查找(对半查找)的实现
namespace Data{ int iArray[] = { 3, 8, 1, 6, 2, 5, 4, 9, 7 }; int iArray1[] = { 2,2,18,9,1,3,2,0,19,20,15,6,12 }; int iArray2[] = { 2,1,1,2 }; vectorint>iVector = { 3
2017-12-20 16:41:07 1063
原创 快速排序的实现
直接上代码,里面有一个注意点就是当从右向左的时候(假设是按升序来排序),对于跟基准值相等的元素一定要进行处理,而不是跳过。或者从左向右的时候,对于跟基准值相等的一定要跳过,否则容易进入死循环,或者对有重复数字的数据中间过程有“假”快速排序的情况(比如2 2 9 1 2 3, 第一次循环很可能就变成了2 2 1 9 2 3,虽然最终结果是对的,但是这一步并没有把数据按照基准值进行划分)。
2017-12-18 15:20:01 242
转载 以操作系统的角度述说线程与进程
什么是线程 什么是线程?线程与进程有什么关系?这是一个非常抽象的问题,也是一个特别广的话题,涉及到非常多的知识。我不能确保能把它讲得好,也不能确保讲的内容全部都正确。即使这样,我也希望尽可能地把它讲通俗一点,讲得明白一点,因为这是个一直困扰我很久的,扑朔迷离的知识领域,希望通过我的理解揭开它一层一层神秘的面纱。 任务调度 线程是什么?要理解这个概念,需要先了解一下操作
2017-12-18 14:25:46 214
转载 CloseHandle()函数的使用
很多程序在创建线程都这样写的:............ThreadHandle = CreateThread(NULL,0,.....);CloseHandel(ThreadHandle );。。。。。这不是刚好创建又关闭了吗?线程怎么运行呢?================================================Closing a th
2017-12-15 14:29:55 16721
转载 宏定义 #和 ##运算符的区别
#运算符将一个宏的参数转换为字符串字面量。它仅允许出现在带参数的宏的替换列表中。(一些C程序员将#操作理解为“stringization(字符串化)”;其他人则认为这实在是对英语的滥用。)#运算符有大量的用途,这里只来讨论其中的一种。假设我们决定在调试过程中使用PRINT_INT宏作为一个便捷的方法,来输出一个整型变量或表达式的值。#运算符可以使PRINT_INT为每个输出的值添加标签。下面是改进
2017-12-15 13:50:37 541
转载 C++11的新功能特性对Boost库影响
Boost程序库探秘——深度解析C++准标准库》之试读 前一阵子还看到一篇文章,说C#要重蹈C++的覆辙,这里说的C++的覆辙是什么呢?是指C++语言过于臃肿的功能特性,导致学习人员的流失。文章说,语言最后的威力是“开发软件”,而不是“比拼新特性” 在大学中,C++算是比较难学的语言。有些学校试图直接让学生们学习C++,结果效果不怎么好。这次,C++11又
2017-12-15 13:34:57 307
原创 Visual Studio 2017 Boost配置
1. 首先下载一个Boost库,官网地址,下载好后解压到一个目录。2. 打卡VS2017的命令行窗口,进入到Boost库的目录,3. 运行bootstrap.bat,成功后会生成bjam.exe和b2.exe。4. 运行b2.exe,需要一段时间,运行结束后显示如下。5. 完成后在需要使用的project里修改相关属性
2017-12-15 13:32:30 2479
原创 string转化成int
上一篇列举了把int转成string的方法,这篇列举把string如何转成int,以及除了调用已有的API,如何自己写方法来进行转换。#include "stdafx.h"#include using namespace std; #define CALL(namespace, method) \{\ cout "Calling " #n
2017-12-15 13:01:03 850
原创 int转化成string
本文总结了几种把int转化成string的方法,为了方便,一些说明都放在了代码注释里,所以直接上代码。#include "stdafx.h"#include using namespace std; #define CALL(namespace, method) \{\ cout "Calling " #namespace"::" #
2017-12-15 12:18:14 1021
原创 软件调试笔记59 - 可调试性概览 :基本原则
通常一个软件的BETA版本已经包含了所有功能的实现。此后最核心的问题就是发现和修正错误,甚至有人把BETA开始到发布的这段时间叫做调试阶段。基本原则:
2017-12-14 10:58:21 296
原创 软件调试笔记50 - 调试符号 : 简介
在软件调试中,调试符号是将被调试程序的二进制信息和源程序信息联系起来的桥梁,可以用作源代码级的条好似、栈回溯、按名称显示变量等。从软件编译的角度看,调试符号是编译器在将源文件编译为可执行程序的过程中,为支持调试而摘录的调试信息。这些信息以表格的形式记录在符号表中,是对源程序的概括。调试信息描述的主要目标有变量、类型、函数、符号和源代码行等。调试信息是在编译过程中逐步收集和提炼出来的,最
2017-12-13 15:14:45 1622
转载 神器PEview 妈妈再也不用担心我看dll和lib等库文件了
Step1:下载神器PEView0.99,评论后可以补回一个资源分;http://download.csdn.net/detail/ericwuhk/6862799Step2:打开压缩包;Step3:打开你想内窥的文件,如lib、dll格式的;Step4:本人亲测dll 和lib格式可以完全暴露,看图
2017-12-08 15:30:56 597
转载 常用性能分析工具
录top列含义vmstatprocsmemoryswapiosystemcpuuptimefreeiostatcpuDevicesarmpstatpmapnetstattcpdumpstracelsofproc文件系统
2017-12-08 15:29:27 800
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人