- 博客(15)
- 资源 (16)
- 收藏
- 关注
原创 栈应用---计算表达式
为实现运算符优先级,可以使用两个工作栈,一个用来存操作数(opnd),另一个存操作符(optr)基本思想是:1.首先置两个栈为空栈.依次读入表达式中的每个字符,若是操作数,则进opnd,若是运算符,则和optr栈顶元素比较,这时分三种情况1.栈顶元素优先级低 直接进栈2.相等('栈顶为'(',与之想比较的操作符为')'')出栈,(脱去左括号)3.栈顶元素优先级大
2013-01-30 21:43:19 545
原创 迷宫说明
const int width = 10;const int height = 10;//地图int maze[height][width]={ //0,1,2,3,4,5,6,7,8,9 {1,1,1,1,1,1,1,1,1,1},//0 {1,0,0,1,0,0,0,1,0,1},//1 {1,0,0,1,0,0,0,1,0,1},//2 {1,0,0,0,0,
2013-01-29 20:19:23 409
原创 栈应用-走迷宫
#include #include #include #define NULL 0#define TRUE 1#define FALSE 0#define RIGHT 1#define DOWN 2#define LEFT 3#define UP 4const int width = 10;const int height =
2013-01-28 22:41:12 669
原创 栈
typedef struct _stack{ ElemType data; struct _stack* next;}Stack , *PStack;const int nLEN = sizeof(Stack);void InitStack(PStack* head){ (*head) = (PStack)malloc(nLEN);// (*head)-
2013-01-28 22:39:25 380
原创 链表
简单链表(有头结点)为了方便查看,在里面打印出了一些地址,数据这里链表的排序类似插序法void Sort(int *a,int nlen){ int pos = 1; while(pos < nlen) { int i = 0; while(i < pos) { if(a[i] > a[pos]) { a[i] = a[i
2013-01-24 21:46:03 399
原创 俄罗斯方块小游戏
整个游戏方块就是一个二维数组,一个格子就是一个方块,这正好跟二维数组类似二维数组哪个地方置1就表示有方块单个小方块就是一个4*4的二维数组.流戏中的数据结构就是这些首先我们把全部方块数据记录起来static int box[][4][4]={ {1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0},//0 {0,1,0,0,0,1,0,0,0,1,0,0
2013-01-08 10:42:17 608 2
原创 dll
静态库(Win32 Static Library)比较简单,类似于在别的源文件中写了一些相关函数,调用其lib时候,声明一下原型,就可以使用了int add(int x,int y){return x+y;}像这样#pragma comment(lib,".\\lib\\Debug\\lib.lib")extern int add(int ,int );DllM
2013-01-07 13:30:25 408
原创 virtual析构函数的作用
#include class Base{public: Base(){ cout<<"Base Constructor"<<endl; } ~Base(){ cout<<"Base Destructor"<<endl; }public: virtual void DoSomething(){ cout<<"Base DoSomething"<<endl; }};
2013-01-06 15:55:25 557
原创 类成员函数指针
class Base{public: Base():f_(0){} virtual ~Base(){}public: typedef void (Base::*FUNC)(); void setf(FUNC f) { f_ = f; } FUNC getf() { return f_; }public: FUNC f_;};class Derived:p
2013-01-06 15:06:10 404
原创 C++中的虚函数
虚函数的实现简单的讲,当定义一个虚函数后,类里面会有一个__vptr指针,指向vtbl(虚函数表),虚函数表里面存放了其对应的虚函数的地址所有当没有其它数据成员时,用sizeof取其大小,其大小为4class A{public: virtual void Fun(){ printf("A::Fun()\n"); }; virtual void Fun2()
2013-01-06 14:11:18 445
原创 __stdcall 与 __cdecl
_stdcall 是StandardCall的缩写,是C++的标准调用方式:所有参数从右到左依次入栈,如果是调用类成员的话,最后一个入栈的是this指针。这些堆栈中的参数由被调用的函数在返回后清除(也就是自己清除),函数在编译的时候就必须清楚参数个数。_cdecl 是CDeclaration的缩写,表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除。被调用者(也就
2013-01-06 12:39:43 479
原创 C对内存的使用
1、 文本段:包含程序的指令,它在程序的执行过程中一般不会改变。2、 数据段:包含了经过初始化的全局变量和静态变量,以及他们的值。3、 BSS段:包含未经初始化的全局变量和静态变量。4、 栈段:包含了函数内部声明的局部变量。5、 堆段:动态分配一个小例子:#include #include #include int ga;//BSS段,全局变量static
2013-01-05 21:09:02 552
原创 SDI单文档的启动过程
BOOL CSDIApp::InitInstance(){..............CSingleDocTemplate* pDocTemplate;pDocTemplate = new CSingleDocTemplate(IDR_MAINFRAME,RUNTIME_CLASS(CSDoc),RUNTIME_CLASS(CMainFrame), // m
2013-01-04 22:09:42 1813
原创 深入浅出MFC---Frame8
AfxWndProcAfxCallWndProcCCmdTarget OnCmdMsgvirtualCWnd WindowProc virtual OnCommand virtual DefWindowProc virtualCFrameWnd OnCommand virtual
2013-01-04 17:56:48 1430
原创 深入浅出MFC---Frame7(消息映射)
#include #include //////////////////////////////////////////////////////////////////////////enum AfxSig{ AfxSig_end = 0, // [marks end of message map] AfxSig_bD, // BOOL (CDC*) Af
2013-01-04 15:20:29 1230
STL源码剖析.pdf
2012-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人