- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 HashTable类模板_C++
好久没看数据结构了,今天终于要用到hash,整理一下写了个hash类模板 template class DataType { public: T key; DataType(T k):key(k){} DataType(void){} bool operator ==(const DataType &a) { return key == a.key; } bool
2013-07-26 20:30:57 2352
原创 线段树
好久没写过线段树了,练哈手 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这
2013-05-04 16:37:35 790
原创 bit_map数据结构
学习map时看到了一个bit_map数据类型这个类型节约了sizeof(Type)*8倍的储存空间。主要原理就是,一个字节有八位,一个bit位就可以表示一个数。 把bit位置为1可以用*p = (*p)|(0x01 检查bit位可以用if(*p&(0x01 代码如下 #include #define MAX_SIZE 100 using namespace std; int m
2013-04-24 17:17:21 761
原创 类的总结
用了两天的时间复习了一下类。趁热打铁 在学习类之前先要大概了解一下(声明)和(定义)这个两个的含义。(以c++primer为准) 定义:用于为变量分配存储空间,还可以为变量制定初始值。在一个程序中,变量有且仅有一个定义。 声明:用于向程序表明变量的类型和姓名。 大致可以理解为:通过使用extern关键字声明变量名和对象名,对象类型和对象类型前的关键字extern只声明不定义,其他的声明和定
2013-04-17 09:09:24 973
原创 百度面试-求多个有序数组中前n的最大值
百度面试原题如下:有20个数组,每个数组里面有500个数组,降序排列,每个数字是32位的unit,求出这10000个数字中最大的500个。 无意间浏览到这题百度面试题贴,下面各路大神解答百度面试题。但是其中的这题基本都是用归并排序办法求,最好的也就是用min_heep。看到后感觉他们提到的这些算法没有对数组有序这个条件很好的利用,以下算法是我解答这题的愚见,如有问题请批评指正。
2013-03-26 22:47:37 3095 3
原创 二叉树的操作
二叉树的基本操作 1:二叉树的创建(插入数据) 2:二叉树的删除 3:二叉树的查找(两种) 4:二叉树的释放内存 #include using namespace std; typedef struct node { int data; node *lchild;//左孩子 node *rchild;//右孩子 node ()//初始化左右孩子节点 { lc
2013-03-24 17:12:02 755
转载 灵活运用CWinThread,构造自己的worker线程
出处:http://blog.csdn.net/unimen/article/details/6832454 如果用AfxBeginThread()启动worker线程,只能是启动一个函数,即便是启动UI线程,在CWinThread继承的类的,也有很大的限制,其实CWinThread是相当灵活的。 先说AfxBeginThread内部做的工作: 1、在heap中配置一个新的CWi
2013-02-06 21:19:03 890
原创 vc随身记<一>
通过hdc指针获取cdc指针 创建一个基于对话框的应用程序。 为改对话框创建一个按钮。 为改按钮添加一个单击事件消息响应函数,如下: void CDemo9Dlg::OnButton1() { // TODO: Add your control notification handler code here //获取当前dc的句柄 HDC hdc=::GetD
2013-01-02 19:17:57 420
原创 两点间多条最短路径
最短路径的求法可能都知道,floy和di。这两种方法都是求一条最短路径,如果你想求多条最短路径那就只能选择其他方法了。 网上已经有几种算法可以求多条最短路径,最常见的就是删边法+di。就是用狄克斯特拉求出一条最短路径然后把最短路径上的边一条一条的删除然后再求最短路径。 这个方法比较容易想但是删边的时候比较麻烦。 那么我们可不可以在floyd的方法上改进呢,我们想一想floyd的判断方法是什么
2012-12-28 19:32:03 10092 11
翻译 struct 占用内存长度解析
在大多数windows电脑上,为了简化处理器和存储器之间接口的硬件设计和提高处理器访问数据的效率。采用地址对齐方法存储数据,也就是地址可以整除数据大小。在不休改的情况下为4可以通过#pragma pack(1)修改对齐系数。 在IA32架构中,数据总线是32位,即一次可以存取4个字节的数据。 在对齐的情况下,struct ALN2的每个成员都可以在一个指令周期内完成; 而假设我们的struc
2012-12-27 17:01:09 675
原创 poj 2761 树状数组
树状数组主要解决的问题:1)区间求和类问题。2)区间操作问题(比如n次操作不确定区间加或减某个值,求某个位置的值)。3)第K值问题。4)逆序对问题。 Feed the dogs Time Limit: 6000MS Memory Limit: 65536K Total Submissions: 12798 Accepted: 3786
2012-12-27 14:39:52 384
原创 poj 2240 floyd
Arbitrage Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11614 Accepted: 4874 Description Arbitrage is the use of discrepancies in currency exchange rates
2012-12-14 17:48:42 325
原创 poj 2255二叉树
Tree Recovery Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8631 Accepted: 5448 Description Little Valentine liked playing with binary trees very much. H
2012-12-14 11:00:42 469
原创 poj 2560最小生成树 prim
Freckles Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5657 Accepted: 2899 Description In an episode of the Dick Van Dyke show, little Richie connects the
2012-12-09 22:47:01 318
原创 poj 2001 字典树问题
Shortest Prefixes Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 10183 Accepted: 4303 Description A prefix of a string is a substring starting at the beginn
2012-12-09 14:22:12 373
原创 结构体的初始化问题
用到结构体的同学经常会碰到这样的问题,结构体中有很多成员变量需要初始化,应用的时候经常因为忘了初始化导致野指针啊,乱码啊。。 昨天我写c++代码时看着class的构造函数忽然想到,class和struct有很多地方是累似的既然class可以通过构造函数初始化为什么struct于是我果断测试了一下 #include using namespace std; struct node { nod
2012-12-09 09:58:58 575
转载 http://blog.csdn.net/ztz0223/archive/2007/05/28/1628669.aspx
我一下讨论的都是在不用return把值进行返回的情况, 也就是说用指针的情况。 很简单就是指针和引用,引用在新版本的c里面也有包含,可以使用。 系统xp+ide用的 vc6.0: 要把一个值通过调用函数改变,可以用指针和引用,这个值可以是int int *,char char*,或者说是结构体,结构体也有不同的情况,比如说, 结构里面有结构体指针和没有的情况,这里我将就我的经历写一下。
2012-12-09 09:30:38 358
原创 poj 2406字符串最小环节的应用
Power Strings Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 24582 Accepted: 10329 Description Given two strings a and b we define a*b to be their concatena
2012-12-09 09:23:29 318
原创 poj 1035 Spell checker
Spell checker Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 15078 Accepted: 5487 Description You, as a member of a development team for a new spell checkin
2012-12-09 09:11:32 391
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人