hanoi.h

来自「汉诺塔算法演示程序」· C头文件 代码 · 共 34 行

H
34
字号
#pragma once
#include "basicalgorithm.h"
#include "Singleton.h"

enum Stock{A,B,C};//三个杆的编号
typedef struct{
		Stock st;//在那根杆上
		int layer;//在杆上的第几层
}Pan;

class CHanoi:
	public CBasicAlgorithm
{
public:
	CHanoi(void);
	~CHanoi(void);
public:
	virtual void doAlgorithm(CView *pView,CDC* pDC);
	virtual void initial(CView *pView,CDC* pDC);

protected:
	void doHanoi(int n,Stock x,Stock y,Stock z);
	void move(Stock origin, int n, Stock target);
	void pause(float ftime);
private:
	int pieNum;
	int stockCount[3];//每根杆上的圆盘数
	Pan *pies;//pie从1开始,到n
	int nTotalMoveCount;//总移动次数
	CDC *pDC;
	CView *pView;//指向视图指针
};
typedef NormalSingleton<CHanoi> Hanoi;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?