⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hanoi.h

📁 汉诺塔算法演示程序
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -