自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (2)
  • 收藏
  • 关注

转载 全排列问题 递归实现

http://blog.csdn.net/hackbuteer1/article/details/7454252 10、下面程序的功能是输出数组的全排列,请填空。void perm(int list[],int k,int m){ if(_______) { copy(list,list+m,ostream_iterator(cout," ")); cout<<endl;

2012-10-31 21:29:04 1058

转载 链表的相邻元素的翻转

http://blog.csdn.net/hackbuteer1/article/details/65961221、清空链表跟销毁链表的区别链表本身是一个数据结构,清空是把链表中的元素清空,但链表还存在,销毁则是把链表这个结构的内存都释放了。。清空是链表没节点,但是链表还在,可以继续插入节点。销毁就是链表没了,整个链表的空间都被释放了,不能进行任何操作了。就像一个杯子,把杯子里的水

2012-10-31 20:32:33 1170

转载 C++获取磁盘的信息

主要参考了两篇博客http://www.cnblogs.com/qq78292959/archive/2012/06/12/2546914.htmlhttp://blog.csdn.net/abidepan/article/details/7877329 众所周知,在微软的操作系统下编写应用程序,最主要的还是通过windows所提供的api函数来实现各种操作的,这些函数通常是可以直

2012-10-31 16:47:15 8741

转载 关于ULARGE_INTEGER 在计算磁盘容量时候的运算

ULARGE_INTEGER Unionhttp://blog.csdn.net/erenno1/article/details/4672219The ULARGE_INTEGER structure is used to specify a 64-bit unsigned integer value.typedef union _ULARGE_INTEGER { struct

2012-10-31 16:43:33 1970

转载 经典的面试题:链表的相交与环问题 (一)

1、 给出两个单向链表的头指针pHead1和pHead2,判断这两个链表是否相交。假设两个链表均不带环。示意图如下: 如果两个链表相交于某一节点,那么在这个相交节点之后的所有节点都是两个链表所共有的。也就是说,如果两个链表相交,那么最后一个节点肯定是共有的。先遍历第一个链表,记住最后一个节点,然后遍历第二个链表,到最后一个节点时和第一个链表的最后一个节点做比较,如果相同,则相交,否

2012-10-31 15:44:44 805

转载 STL容器里存放对象还是指针?

http://blog.csdn.net/weiqubo/article/details/7291129一.问题的引出:容器可以存放对象,可以存放指针,这里要谈的是两者的使用问题。就是什么时候存放对象更好,什么时候存放指针更好?二.问题的分析过程:1.首先说下stl容器的工作方式对于内建类型(int float char等),容器的工作方式是纯粹的位拷贝,这里没有什么需要多

2012-10-31 14:52:30 1564

转载 STL容器中放入wchar_t*指针出错 Vector中放入wchar_t*

STL疑问#include class DistDrivers{public: virtual void GetLogicalDriveStrings()=0;public: int m_LogicalNum;//系统中逻辑驱动器的个数 std::vector m_LogicalNames;//系统中所有的驱动器字符串的信息 int m_DriveType;//驱动器类型 fl

2012-10-31 11:10:20 2144

转载 工厂模式

http://blog.csdn.net/wuzhekai1985?viewmode=contents  软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式

2012-10-31 09:19:29 490

转载 KMP算法详解

http://blog.csdn.net/hackbuteer1/article/details/7319115KMP算法详解:KMP算法之所以叫做KMP算法是因为这个算法是由三个人共同提出来的,就取三个人名字的首字母作为该算法的名字。其实KMP算法与BF算法的区别就在于KMP算法巧妙的消除了指针i的回溯问题,只需确定下次匹配j的位置即可,使得问题的复杂度由O(mn)下降到O(m+n)。

2012-10-30 19:18:50 557

转载 使用分治法求解数组的第k大数

http://blog.csdn.net/hackbuteer1/article/details/6651804首先,需要在一个数组中,随机抽出一个元素,然后比这个元素大的放到他的右边,比这个元素小的放在它的左边:void pailie(int* &p,int len){ time_t t; srand((unsigned) time(&t)); int index=ran

2012-10-30 10:58:14 2972

转载 二叉树中两个节点的最近公共父节点 使用二叉排序树

以下是我的算法之后是Hackbuteer1的算法 Hack的算法更加好。 BiTree al=NULL,ar=NULL;BiTree FindAnstorBST(BiTree T,BiTree a,BiTree b){ if(T) { if(T->value>a->value && T->valuevalue) return T; if(T->valuevalue &

2012-10-30 10:18:06 804

转载 二叉树中两个节点的最近公共父节点 非二叉排序树

情况二:节点只有左、右指针,没有parent指针,root已知思路:有两种情况,一是要找的这两个节点(a, b),在要遍历的节点(root)的两侧,那么这个节点就是这两个节点的最近公共父节点;二是两个节点在同一侧,则 root->left 或者 root->right 为 NULL,另一边返回a或者是b。那么另一边返回的就是他们的最小公共父节点。递归有两个出口,一是没有找到a或者b,则

2012-10-30 09:43:23 725

转载 char str[]和char* str的区别

http://blog.csdn.net/hackbuteer1/article/details/6706562char* get_str(void){ char str[] = {"abcd"}; return str;}char str[] = {"abcd"};定义了一个局部字符数组,尽管是数组,但它是一个局部变量,返回它的地址肯定是一个已经释放了的空间的地址。

2012-10-29 20:18:58 607

转载 将字符串转化为大写或者是小写 北航的题目

题目描述:    读入数据string[ ],然后读入一个短字符串。要求查找string[ ]中和短字符串的所有匹配,输出行号、匹配字符串。匹配时不区分大小写,并且可以有一个用中括号表示的模式匹配。如“aa[123]bb”,就是说aa1bb、aa2bb、aa3bb都算匹配。输入:输入有多组数据。每组数据第一行输入n(1输出:输出匹配到的字符串的行号和该字符串(匹配时不区

2012-10-29 20:04:58 653

转载 浅谈C++的多态性 重载 覆盖 隐藏

重载,在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。简单的说,一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法  (百度百科)严格来说,重载是编译时多态,即静态多态,根据不同类型函数编译时会产生不同的名字如int_foo和char_foo等等,以此来区别调用。故重载仍符合多态定义——通过单一标识支持不同特定行为的

2012-10-29 10:02:14 635

转载 二叉排序树的创建和遍历与删除指定的节点

二叉排序树(Binary Sort Tree)又称二叉查找树。 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树;二叉排序树性能分析每个结点的C(i)为该结点的层次数。最坏情况下,当先后插入的关键字有序时,构成的二叉排

2012-10-29 09:34:13 1110

转载 从长度为n的数组中(元素互不相同)任意选择m个数的所有组合

DFS http://blog.csdn.net/hackbuteer1/article/details/8035261/** ** author :hackbuteer** date :2012-10-01 **/#include#includeusing namespace std;int arr[] = {1,2,3,4,5,6,7,8,9,10};int

2012-10-28 17:08:55 4208

转载 C++结构体和类的区别

1.C的结构体和C++结构体的区别   1.1 C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数。所以C的结构体是没有构造函数、析构函数、和this指针的。   1.2 C的结构体对内部成员变量的访问权限只能是public,而C++允许public,protected,private三种。   1.3 C语言的结构体是不可以继承的,C++的结构体是可以从其他

2012-10-27 22:48:22 895

转载 C++内存分配 指针和数组的对比

转自:http://qiuyili68.blog.163.com/blog/static/67531803201111195115375/?fromdm&fromSearch&isFromSearchEngine=yes 内存分配方式        在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。       栈,在执行函数时,函数内局部变量

2012-10-27 22:45:00 1095

转载 GetMemory的问题汇总

题目一:void GetMemory( char *p ){ p = (char *) malloc( 100 );}void Test( void ) { char *str = NULL; GetMemory( str );  strcpy( str, "hello world" ); printf( str );}【运行错误】传入Get

2012-10-27 22:20:23 613

转载 erase的使用

template inline _OutputIter copy(_InputIter __first, _InputIter __last, _OutputIter __result) { __STL_REQUIRES(_InputIter, _InputIterator); __STL_REQUIRES(_OutputIter, _Ou

2012-10-26 15:17:36 677

转载 已知二叉树先序和中序序列 求后序序列

源码如下:void test(std::string str1,std::string str2,int length){ if(str1.empty()&&str2.empty()) return; s.push(str1.c_str()[0]); int count=str2.find_first_of(s.top()); std::string str11,str22;

2012-10-26 14:23:08 943

转载 C语言中的字节对齐问题

一.什么是字节对齐,为什么要对齐?     现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。     对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特

2012-10-25 22:13:21 643

转载 写一个String的构造函数 考察浅拷贝知识

class CStringTest{public: CStringTest(char *str) { int length=0; while(str[length]!='\0') { length++; } m_data=(char*)malloc(sizeof(char)*(length+1)); strcpy(m_data,str); } CStrin

2012-10-25 21:46:41 473

转载 字符串处理 删除指定字符

今天看到了一个面试 进去看了看 有个笔试题给定字符串 ""abcefeddcef",删除指定字符 e 时间复杂度为O(n) 空间复杂度为O(1)  void test(){ char str[100]="abcefeddcef"; int i=0,j=0; while(str[i]!='\0') { if(str[i]!='e') { str[j]=st

2012-10-25 21:31:45 1016

转载 OGRE的单件模式 Singleton

http://blog.sina.com.cn/s/blog_630703a10100fiwx.htmlnamespace Ogre{ template class Singleton { protected: static T* ms_Singleton; public: Singleton(void) { assert(!ms_Singleton); m

2012-10-25 16:34:28 820

转载 atoi与itoa的C++实现

int atoiTest(char s[]){ int i=0,sum=0,sign; while(' '==s[i]||'\t'==s[i]) { i++; } sign=('-'==s[i])?-1:1; if('-'==s[i]||'+'==s[i]) i++; while(s[i]!='\0') { sum=s[i]-'0'+sum*10; i++; }

2012-10-25 16:12:57 734

转载 atoi和itoa的C++实现

int atoiTest(char s[]){ int i=0,sum=0,sign; while(' '==s[i]||'\t'==s[i]) { i++; } sign=('-'==s[i])?-1:1; if('-'==s[i]||'+'==s[i]) i++; while(s[i]!='\0') { sum=s[i]-'0'+sum*10; i++; }

2012-10-25 16:12:29 850

转载 TinyXML代码整合成为类

我将所有的TinyXML代码封装到一个类中,#pragma once#ifdef TIXML_USE_STL#include #include #include using namespace std;#else#include #endif#include "tinyxml.h"#include "tinystr.h"class CHandleXML{public

2012-10-24 21:36:55 810

转载 TinyXml 快速入门三

在《TinyXml 快速入门(二)》介绍使用tinyxml库获取xml文件声明,查询指定节点、删除指定节点的做法。在本文中继续介绍修改指定节点和增加节点的做法。         修改节点其实和查询指定节点的值有点类似,也分为两个函数,一个实现修改文本。另一个负责修改属性。 01./*! 02.* /brief 修改指定节点的文本。 03.* 04.* /param X

2012-10-24 20:39:56 737

转载 TinyXml快速入门2

在《TinyXml快速入门(一)》中我介绍了使用TinyXml库如何创建和打印xml文件,下面我介绍使用tinyxml库对xml文件进行一系列的操作,包括获取xml文件声明,查询指定节点、删除指定节点、修改指定节点和增加节点的用法。在《TinyXml快速入门(一)》中我们知道xml文件中的一个节点元素实际包含两种值:属性和文本。其中属性在我看来可以看作是STL中的map,一个属性带一个属性值,ma

2012-10-24 20:05:11 722

转载 TinyXml快速入门(一)

http://blog.csdn.net/clever101/article/details/5334369对于xml文件,目前我的工作只是集中在配置文件和作为简单的信息文件来用,因此我不太喜欢使用msxml这种重量级的xml解析器,特别是使用msxml解析xml涉及到复杂的com类型转换,更是令人感觉繁琐。因此对于简单的xml文件的解析,我更愿意使用开源的TinyXml。首先介绍一下Ti

2012-10-24 19:16:01 615

转载 ImageData

/// The alignment of the terrain 地形的对齐模式 enum Alignment//地形的对齐模式 { /// Terrain is in the X/Z plane ALIGN_X_Z = 0, //地形的对其方式 /// Terrain is in the X/Y plane ALIGN_X_Y = 1, /// Terra

2012-10-23 20:09:54 690

转载 ImportData

/// The alignment of the terrain 地形的对齐模式 enum Alignment//地形的对齐模式 { /// Terrain is in the X/Z plane ALIGN_X_Z = 0, //地形的对其方式 /// Terrain is in the X/Y plane ALIGN_X_Y = 1, /// Terra

2012-10-23 20:09:35 887

转载 TerrainGlobalOptions的源码

/** Options class which just stores default options for the terrain. 仅仅用来存储地形默认的设置 @remarks None of these options are stored with the terrain when saved. They are options that you can use to modi

2012-10-23 20:07:35 729

转载 OgreTerrain的实现原理分析

一.世界地图将整个世界切分成多个Tile,每个Tile大小相同,用二维坐标形式索引起来,如图: 中心点(0,0)位置的Tile为世界地图的中心点,例如坐标可以定位为(0,0,0),由于Tile大小相等,世界坐标与Tile就可以进行转换,可以根据玩家所在的坐标快速的定位Tile。例如,当tile长度为12000时,玩家坐标为(13000,13000) 那么可以知道玩家在索引为(1,1

2012-10-23 18:44:13 778

转载 TerrainGroup源码

/** Options class which just stores default options for the terrain. 仅仅用来存储地形默认的设置 @remarks None of these options are stored with the terrain when saved. They are options that you can use to modi

2012-10-22 10:21:04 662

转载 递归 内存分配 指针

http://blog.csdn.net/changbaolong/article/details/6928140最近写了一些代码,但从编程的角度看,遇到问题最多的就是递归、内存的动态分配以及指针的问题。下面作些简单的理解:1、递归这块内容是我比较薄弱的一块,谈下个人简单的理解,希望有人给予一些建议。   首先,从递归的种类来说,可以分为四块:       a)定义是递归的,如

2012-10-20 22:41:21 1067

转载 简述new和delete的区别

http://blog.csdn.net/changbaolong/article/details/6704607为什么在C++语言中要增加运算符new/delete?为什么在C++语言中不把malloc/free删除掉呢?====================================================================================

2012-10-20 22:30:37 808

转载 BMP文件结构

转自http://blog.csdn.net/huangchonghai/article/details/29934461. BMP文件组成   BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。   2. BMP文件头   BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。   其结构定义如下:typede

2012-10-19 16:59:29 459

ExtJS和.NEt平台结合

本文采用最新的ExtJS和ASP.net和SQL Server2005结合开发动态网页。

2011-06-15

二叉树的中序线索化和遍历

//运行环境:MS Visual C++ 6.0

2010-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除