代码改变世界

阅读排行榜

非递归遍历所有文件及目录:FindFirstFile,FindNextFile和FindClose

2011-06-30 23:48 by x_feng, 2001 阅读, 收藏,
摘要: 都说用这三个API遍历文件效率比较高,我查了些资料,把它们封装成一个类。#ifndef _WIN_FILEFINDENUM_H_#define _WIN_FILEFINDENUM_H_#include <iostream>#include <windows.h>#include <string>#include <vector>#include <queue>class Win_FileFindEnum{public: Win_FileFindEnum(string); void DoErgodicFile(string); ~Win 阅读全文

快速的4个数的全排列

2011-06-18 11:17 by x_feng, 1249 阅读, 收藏,
摘要: 这只是一个非通用的方法,对于计算4个数或5个数以下的全排速度比较快,但是5以上就有点麻烦。 分析:如求abcd的全排列,我们看看abcdabcd,由a开始扫a->bcd,a->cdab,a->dabc,只考察a后面的三个,重复的a去掉(黑体表示),然后再考虑逆转字符串dcbadcba,看看从a开始的:a->dcb,a->cbad,a->bdc(这里像循环一样)。 void perm(char *a... 阅读全文

从一道笔试题中看转义字符

2011-06-01 14:22 by x_feng, 837 阅读, 收藏,
摘要: 题目如下:char s[] = “\\123456\123456\t”;printf(“%d\n”, strlen(s));A 12 B 13 C 16 D 以上都不对先不说结果如何,我们看看s[]在内存中的结构: 很清楚,char[13]数组大小为13,答案似乎是B,很不幸错了,strlen返回的长度不包括结尾空白符,答案为A 12。‘\’为转义符,转义字符用反斜杠\后面跟一个字符或一个八进制或十六进制数表示。下图为转义字符表: char s[] = “\\123456\123456\t”;中的\\相对于一个字符\,\123中,1,2,3都满足8进制数,因此\123其实表示一个字符。那么我现 阅读全文

C++STL:Map剖析

2011-06-05 22:00 by x_feng, 802 阅读, 收藏,
摘要: map是(键-值)对的集合,也是通常所说的关联数组。可以使用键作为下标来获取一个值,关联的本质在于元素的值与某个特定的键相关联,而并非下标。1,map简介map是一类关联容器。它的特点是:增加和删除节点对迭代器影响很小,除了那个操作节点,对其它的节点都没什么影响。对于map来说,不可以修改键,但可以修改键对应值的值。map的底层结构是:平衡二叉搜索树,也就是RB-tree(红黑树)。功能:建立key-value的对应。key和value可以是任意类型。根据key值快速查找记录,时间复杂度为log(N)。快速插入key-value记录。快速删除记录。根据key修改value记录。遍历。2,map 阅读全文

C++ enum剖析

2011-05-31 19:55 by x_feng, 713 阅读, 收藏,
摘要: 枚举的定义要用到关键字enum,就像类的定义用class,结构体用struct一样,enum和struct、class都是用户自定义类型,只不过枚举的内容比较简单,也不常用。如下:class myClass//类名{}mc;//类对象struct myStruct//结构体名{}ms;//结构体对象enum myEnum//枚举名{ //标识符 = 整型常数}me;//枚举对象。可以没有枚举名和枚举变量1.枚举定义enum open {in, out, app}openfile;默认第一个枚举成员赋值为0,即in = 0,后面的每个枚举成员赋的值比前面的大1。也可以显式赋值,如:enum op 阅读全文
1 2 3 4 5 ··· 7 下一页