随笔分类 -  编程语言

摘要:处理字符串的过程中,难免会遇到字符匹配的问题。常用的字符匹配方法1. 朴素模式匹配算法(Brute-Force算法) 求子串位置的定位函数Index( S, T, pos). 模式匹配:子串的定位操作通常称作串的模式匹配。 目标串:主串S。 模式串:子串T。 匹配成功:若存在T的每个字符依次... 阅读全文
posted @ 2014-07-14 14:26 bigbigtree 阅读(571) 评论(0) 推荐(0)
摘要:二叉查找树(Binary Search Tree),也称有序二叉树(ordered binary tree),排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树:若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;任意节点的右子树不空,则右子树上... 阅读全文
posted @ 2014-06-23 22:26 bigbigtree 阅读(407) 评论(0) 推荐(0)
摘要:图的遍历指的是从图中的任一顶点出发,对图中的所有顶点访问一次且只访问一次。图的遍历操作和树的遍历操作功能相似。图的遍历是图的一种基本操作,图的许多其它操作都是建立在遍历操作的基础之上。图的遍历方法目前有深度优先搜索法和广度(宽度)优先搜索法两种算法。深度优先搜索法DFS深度优先搜索法的基本思想是:从... 阅读全文
posted @ 2014-06-23 16:29 bigbigtree 阅读(592) 评论(0) 推荐(0)
摘要:回溯法是设计递归的一种常用方法,它的求解过程实质上就是一个先序遍历一棵"状态树"的过程,只是这棵树不是遍历前预先建立的而是隐含在遍历过程中的。下面举一个例子:求含n个元素的集的幂集:集合A={ {1,2,3}, {1,2}, {1,3}, {1}, {2,3},{2},{3},{}}; /... 阅读全文
posted @ 2014-06-15 20:35 bigbigtree 阅读(537) 评论(0) 推荐(0)
摘要:二叉树(Binary Tree)是个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个结点。基本概念:(1)结点的度。结点所拥有的子树的个数称为该结点的度。(2)叶... 阅读全文
posted @ 2014-06-15 11:01 bigbigtree 阅读(510) 评论(0) 推荐(0)
摘要:堆栈,也可直接称栈,是一种特殊的串行形式的数据结构,它的特殊之处在于只能允许在链结串行或阵列的一端进行加入资料和输出资料的运算。另外堆栈也可以用一维阵列或连结串行的形式来完成。 1 #define STACK_INIT_SIZE 100 2 #define STACKINCREMENT 10 ... 阅读全文
posted @ 2014-06-11 20:59 bigbigtree 阅读(355) 评论(0) 推荐(0)
摘要:本文主要介绍两种在windows下调用外部exe程序的方法:1、使用SHELLEXECUTEINFO 和ShellExecuteExSHELLEXECUTEINFO 结构体的定义如下: 1 typedef struct _SHELLEXECUTEINFO { 2 DWORD cbSize... 阅读全文
posted @ 2014-04-29 15:24 bigbigtree 阅读(1904) 评论(0) 推荐(0)
摘要:今天使用动态数组,本来想通过sizeof 获取动态数据,结果出现了错误。先对自己做个测试,能做出下面这个题目,并做出合理解释,可以不用往下看了。double* (*a)[3][6];cout>num; int arrary[num];是对的(注意在vc6.0中是错的)。因此我就在DEV C++中对刚才的array利用语句int n =sizeof(array);cout<<n<<endl来求大小,结果编译通过,运行时输入num的值10之后,输出n等于40!在这里很明显num的值是运行时才输入的,因此sizeof不可能在编译时就求得array的大小!这样一来size 阅读全文
posted @ 2014-03-04 16:11 bigbigtree 阅读(7116) 评论(0) 推荐(1)
摘要:表驱动法是一种编程模式(scheme)-从表里查找信息而不使用逻辑语句(if和case)。对简单的情况而言,使用逻辑语句更为容易和直白。但随着逻辑链的越来越复杂,查表法也就愈发显得更具吸引力一,表驱动法使用总则使用表驱动法的两个问题:如何在表中查询条目(1)直接访问(2)索引访问(3)阶梯访问在表里存些什么,可以是查询出来的结果数据,可以是保存一个描述该动作的代码,可以是保存对实现该动作的子程序的引用二,直接访问表,四个例子:计算每月的天数是一个很适合用直接访问表描述的例子,因为你可以用month变量去表里面查询记录。一般来说,你可以用原本控制着很多if语句的数据去直接访问表字符分类保险费率: 阅读全文
posted @ 2014-02-18 22:06 bigbigtree 阅读(2018) 评论(0) 推荐(0)
摘要:1、寻常算术转换 在运算中 如果其中一个操作数是long double 则另一个转为long double,其次 如果有一个为double 则另一个转为double,再次 float 、 unsigned long int 、 long int、 unsigned int 、 int2、sizeof 的返回值类型为 unsigned int3、NUL为ascii码 \0 英文空字符 NULL为空指针4、C语言中的符号重载5、#define banana int 与 typedef int banana2 区别区别1:宏定义的类型名可以用其他类型说明符修饰,如 unsigned banana a 阅读全文
posted @ 2014-02-09 13:55 bigbigtree 阅读(214) 评论(0) 推荐(0)
摘要:转自http://blog.sina.com.cn/s/blog_5e8facd20100qn20.html1.指针函数的定义顾名思义,指针函数即返回指针的函数。其一般定义形式如下:类型名*函数名(函数参数表列);其中,后缀运算符括号“()”表示这是一个函数,其前缀运算符星号“*”表示此函数为指针型函数,其函数值为指针,即它带回来的值的类型为指针,当调用这个函数后,将得到一个“指向返回值为…的指针(地址),“类型名”表示函数返回的指针指向的类型”。“(函数参数表列)”中的括号为函数调用运算符,在调用语句中,即使函数不带参数,其参数表的一对括号也不能省略。其示例如下:int *pfun(int, 阅读全文
posted @ 2014-02-08 20:14 bigbigtree 阅读(316) 评论(0) 推荐(0)
摘要:碰到一道题:1 int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};2 int *p = a[0];3 int (*ptr)[4] = (a+1);4 5 cout<<*(p+9)<<endl;6 cout<<(*ptr+1)[1]<<endl;7 cout<<*(*(a+2)+1)<<endl;8 return 1;上题结果为: 10 7 10分析: int (*p)[4] 由于()优先级最高,因而p是一个int类型的指针,该指针指向包含四个int变量的数组。int x[4] ;可以把* 阅读全文
posted @ 2013-12-26 22:05 bigbigtree 阅读(2856) 评论(0) 推荐(0)
摘要:今天需要解决一个问题,将影像瓦片(一堆jpg文件)分别进行读取,并将所有数据以文件流的方式存入一个.db的文件中,同时将每个jpg数据在db文件中的位置保存下来,作为index存在.idx文件中。其中部分代码如下(没有copy fopen和fclose的部分): 1 char buf[256]; for (int i = 0; i 1 struct _stat finfo;2 _stat(jpgpath,&finfo);3 int s = finfo.st_size;3、利用filelength函数1 FILE* file = fopen(filepath, "rb" 阅读全文
posted @ 2013-12-23 10:47 bigbigtree 阅读(493) 评论(0) 推荐(0)
摘要:源码下载:点击下载源码如下:#include#include#include#include#define_AFXDLLusingnamespacestd;voidmain(){//此文件在工程打开状态下为不可访问char*filepath="..\\test.ncb";//方法一struct_statinfo;_stat(filepath,&info);intsize=info.st_size;cout C/C++ -> Code Generation -> Runtime Library, 选择"Multi-threaded Debug(/ 阅读全文
posted @ 2013-12-23 09:26 bigbigtree 阅读(671) 评论(0) 推荐(0)
摘要:typedef struct t_xtime { int year; int month; int day; int hour; int minute; int second; } _xtime ;#define xMINUTE (60 ) //1分的秒数#define xHOUR (60*xMINUTE) //1小时的秒数#define xDAY (24*xHOUR ) //1天的秒数#define xYEAR (365*xDAY ) //1年的秒数可以通过在线转换工具,对程序结果进行验证:http://t... 阅读全文
posted @ 2013-12-05 09:24 bigbigtree 阅读(10865) 评论(0) 推荐(1)
摘要:当在函数中申请占用空间很大的数组、结构体时,会产生该问题。由于局部变量的申请空间存放于栈中,windows里默认栈内存是1M所以当申请空间大于1M时就会出现溢出错误通过debug就会进入以下文件chkask.asmchkstk.asm - C stack checking routine解决方法:扩大栈空间的大小VS设置项目属性:项目->属性->链接器->系统->堆栈保留大小注:这里填的是字节数如果你想把他扩大为2M的话,1024*1024*2 = 2097152 阅读全文
posted @ 2013-12-02 09:40 bigbigtree 阅读(2738) 评论(0) 推荐(1)
摘要:刚刚配置好TileCache,准备开工。期间碰到多种配置的问题,罗列一下。1、mod_python的一个最主要优点就是在性能上超越传统CGI。所以使用mod_python替代CGI。前提是安装好apache和python。由于在windows(win7 64)平台下搭建环境,下载的mod_python-3.3.1.win32-py2.5-Apache2.2.exe,没有出现选择apache安装目录的对话框。试了多多种方法不成功,下载mod_python-3.3.1.win32-py2.4-Apache2.2.exe后,终于成功。2、配置TileCache时,需要在Python的sys.path 阅读全文
posted @ 2013-10-11 14:48 bigbigtree 阅读(967) 评论(0) 推荐(0)