摘要: #include <iostream>#include <stack>//定义树节点typedef struct TreeNode{int key;struct TreeNode *pLeft;struct TreeNode *pRight;}TreeNode;//访问节点void visit(TreeNode *root){ if(NULL!=root) cout<<root->key; cout<<endl;}1. 二叉树前序遍历void PreOrderTraverse(TreeNode *root){ stack<TreeNo 阅读全文
posted @ 2012-04-12 21:33 fly1988happy 阅读(654) 评论(1) 推荐(1) 编辑
摘要: 1.C语言中的结构体1.1 定义结构体是由一系列相同或不同类型的变量组成的集合。struct 结构体名{ //struct为关键字,“结构体名”为用户定义的类型标识。数据类型1 成员名1; //{ }中是组成该结构体的成员,其中数据类型可以是C语言所允许的任何数据类型。数据类型2 成员名2;...数据类型n 成员名n;};1.2 结构体的内存分配(方法一)结构体在内存中分配一块连续的内存,但结构体内的变量并不一定是连续存放的,这涉及到内存对齐。原则1 数据成员对齐规则:结构(struct或联合union)的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该 阅读全文
posted @ 2012-04-12 21:03 fly1988happy 阅读(8771) 评论(0) 推荐(3) 编辑
摘要: 1. 抛出异常1.1 抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为: throw 表达式;如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某个catch语句所捕获并处理,捕获和处理的条件是被抛弃的异常的类型与catch语句的异常类型相匹配。由于C++使用数据类型来区分不同的异常,因此在判断异常时,throw语句中的表达式的值就没有实际意义,而表达式的类型就特别重要。 1.2 抛出异常实际是作为另一种返回值来使用的。 抛出异常的好处一是可以不干 阅读全文
posted @ 2012-04-11 17:57 fly1988happy 阅读(11834) 评论(0) 推荐(4) 编辑
摘要: 宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译。1.不带参数的宏定义:宏定义又称为宏代换、宏替换,简称“宏”。 格式: #define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”,字符串可以是常数、表达式、格式串等。 在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。掌握"宏"概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”。 即在对相关命令或语句的含义和功能作具 阅读全文
posted @ 2012-04-10 22:11 fly1988happy 阅读(11288) 评论(0) 推荐(2) 编辑
摘要: 1.普通数组的定义(维数)const unsigned int buf_size=512, max_files=20;int staff_size=27;const unsigned sz=get_size(); char input_buffer[buf_size];//ok,是const变量string fileTable[max_files+1];//ok,是constant表达式(常量表达式)。double salaries[staff_size];//error,不是const变量。int test_scores[get_size()];//error,不是const表达式。int 阅读全文
posted @ 2012-04-10 15:49 fly1988happy 阅读(2784) 评论(0) 推荐(0) 编辑
摘要: 1. 函数stlen原型:extern unsigned int strlen(char *s);在Visual C++ 6.0中,原型为size_t strlen( const char *string );其中size_t实际上是unsigned int,在VC6.0中可以看到这样的代码:typedef unsigned int size_t; 头文件:string.h 格式:strlen (字符数组名) 功能:计算字符串s的(unsigned int型)长度,不包括'\0'在内 说明:返回s的长度,不包括结束符NULL。2. stlen与sizeof的区别(1)strle 阅读全文
posted @ 2012-04-06 11:42 fly1988happy 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 1. 以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符。如在代码中写"abc",那么编译器帮你存储的是"abc\0"。2. "abc"是常量吗?-----------注意字符串的存储形式答案是有时是、有时不是。 (1)不是常量的情况:"abc"作为字符数组初始值的时候就不是,如: char str[] = "abc"; 因为定义的是一个字符数组,所以就相当于定义了一些空间来存放"abc",又因为字符数组就是把字符一个一个地存放的,所以编译器把这个语句解析为:c 阅读全文
posted @ 2012-04-06 10:47 fly1988happy 阅读(2509) 评论(0) 推荐(1) 编辑
摘要: 1.概述搜索引擎(search engine)是指根据一定的策略、运用特定的计算机程序搜集互联网上的信息,在对信息进行组织和处理后,为用户提供检索服务的系统。2.搜索引擎分类按照信息搜集方法和服务提供方式的不同,搜索引擎系统可以分为三大类:全文搜索引擎(Full Text Search Engine)、目录索引类搜索引擎(Search Index/Directory)和元搜索引擎(Meta Search Engine)。2.1 全文搜索引擎全文搜索引擎是名副其实的搜索引擎,国外代表有Google,国内则有著名的百度搜索。它们从互联网提取各个网站的信息(以网页文字为主),建立起数据库,并能检索与 阅读全文
posted @ 2012-04-01 21:21 fly1988happy 阅读(1587) 评论(0) 推荐(0) 编辑
摘要: 1.简介倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。倒排文件(倒排索引),索引对象是文档或者文档集合中的单词等,用来存储这些单词在一个文档或者一组文档中的存储位置,是对文档或者文档集合的一种最常用的索引机制。搜索引擎的关键步骤就是建立倒排索引,倒排索引一般表示为一个关键词,然后是它的频度(出现的次数),位置(出现在哪一篇文章或网页中, 阅读全文
posted @ 2012-04-01 16:36 fly1988happy 阅读(21486) 评论(0) 推荐(7) 编辑
摘要: 1.概述什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但是要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的 阅读全文
posted @ 2012-03-31 21:46 fly1988happy 阅读(481) 评论(0) 推荐(0) 编辑