- 博客(16)
- 资源 (2)
- 收藏
- 关注
转载 使用(x&y) + ((x^y)>>1) 求平均数
在一个面试题里见到这么一道题:下面的代码:复制代码int func (int x, int y){ return (x&y) + ((x^y)>>1);}当 x 为 729,y 为 271 时函数的返回值是多少?思路最简单也最直接的就是将 x 和 y 都先转换为二进制,然后老老实实的做按位与,按位异或等运算,最后得出结果。在分析该表达式的实现
2013-07-11 16:01:41
3338
原创 SkyBox
#pragma once#include #include class CGameSkyBox{public: CGameSkyBox(LPDIRECT3DDEVICE9 pD3DDevice); ~CGameSkyBox(void);public: BOOL LoadSkyBoxTextureFromFile(LPCSTR lpszFront, LPCSTR lpszBac
2013-05-30 15:44:49
727
原创 Camera
#pragma once#include #include class CGameCamera{public: CGameCamera(void); ~CGameCamera(void);public: //设置Camera向量 void SetCameraVector(D3DXVECTOR3 vecCamera); //取得Camera向量 D3DXVECTOR3 G
2013-05-30 15:42:39
695
原创 BF_KMP字符串匹配
#pragma onceclass CSearchString{private: CSearchString(void); ~CSearchString(void);public: static bool BF(const char *PArr1, int nArr1Size, const char *pArr2, int nArr2Size); static int KMP
2013-04-25 15:13:51
452
原创 AVLTree
#pragma once#include template class CAVLTree{private: typedef struct _AVLNODE { T m_Data; int m_nHeight; _AVLNODE* m_pLeftChild; _AVLNODE* m_pRightChild; }AVLNODE; AVLNODE*
2013-04-23 15:49:51
469
原创 哈希表
//.h#pragma once#include template class CHash_Table{public: CHash_Table( int nSize = 100); ~CHash_Table(void);public: bool InsertItem(int Key, TVALUE Value); bool DeleteItem(int Key
2013-04-18 15:09:39
621
原创 栈求解迷宫
//Stack.h//栈#pragma once#include #include template class CStack{public: CStack(int nSize = 100); ~CStack(void);public: bool Push(T Item); T Pop(); T& GetTop(); bool IsEmpty();
2013-04-17 23:10:28
616
转载 OnEraseBkGnd与OnPaint的联系 .
OnEraseBkGnd与OnPaint的联系 .问题是这样产生的.在OnEraseBkGnd中,如果你不调用原来缺省 的OnEraseBkGnd只是重画背景则不会有闪烁.而在OnPaint里面, 由于它隐含的调用了OnEraseBkGnd,而你又没有处理OnEraseBkGnd 函数,这时就和窗口缺省的背景刷相关了.缺省的 OnEraseBkGnd操作使用窗口的缺
2013-01-29 14:11:10
349
转载 •VC内存泄露检查工具:VisualLeakDetector
初识Visual Leak Detector 灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题。当程序越来越复杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问题。内存泄漏是最常见的内存问题之一。内存泄漏如果不是很严重,在短时间内对程序不会有太大的影响,这也使得内存泄漏问题有很强的隐蔽性,不容易被发现。然而不管内存泄漏多么轻微,当程序长时间运行时,其破
2013-01-09 16:26:16
420
转载 Pvoid
P表示指针,那么PVOID表示 void * 无类型指针下面看到论坛上的解释,觉得说得很不错,共享下哈哈所有指针都是一个32位二进制数(32位系统下),这个意义上说所有指针都是一样的,它们的大小一样,用于指向内存中的某处地址,然而指针为什么要有类型之分呢?答案是指针偏移。例如p为一个指针,它指向内存某处地址,那么p+1(或者写p[1])是什么意思呢?答案是p指向地址的后面那个地址,
2013-01-09 08:58:39
377
原创 C++ 快速排序代码
自己写的C++快速排序代码//Quick排序class Quick_Sort{public: Quick_Sort(); ~Quick_Sort();public: template static int Partition(T *arry, const int start, const int finish);
2012-10-17 09:06:11
658
转载 快速排序
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速
2012-10-16 14:42:37
239
转载 堆与堆排序
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节
2012-10-15 12:14:45
335
转载 STL的内观排序(introsort)算法学习笔记
STL(Standard Template Library)的算法据说是经过精心优化的。那么在它的排序算法方面做了哪些优化呢?自从快速排序算法出世以后,从平均性能上来说,除了在数据量极少(一个最简单的混合算法就是在数据量少的时候(nvoid quicksort(_RandomIterator __start, _RandomIterator __last){
2012-10-11 10:13:29
2045
转载 COM、OLE、ActiveX
听了,学了,用了很多COM、OLE、ActiveX的技术,但是一直是一团模糊的概念,只知道这三样东西都是一路货色,但是具体有什么区别呢,没有去深究,今天心血来潮,上网查了一些资料,终于有点清楚了~~~得到的结论就是:COM、OLE、ActiveX的的确确是一路货色!!!虽然说的有些武断,但我只是将人们对COM、OLE、ActiveX最广泛的理解表达出来,三者之间还是很大区别的,具体渊源后面
2012-10-11 10:12:37
647
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人