hannuo.h

来自「本人写的汉诺塔源代码」· C头文件 代码 · 共 32 行

H
32
字号

#include <vector>
using namespace std;


bool HanPop(int Num,vector <int> &SSPosition,vector <int> &DDPosition)
{
	int i=SSPosition[SSPosition.size()-1];
	if( Num== i )
	{
		DDPosition.push_back( i );
		SSPosition.pop_back();
		//显示
		//
		return TRUE;
	}
	else return FALSE;
}

//Num起始块数  SPosition起始位置  DPosition目的位置  NPosition中转位置
void HanMove( int Num,vector <int> &SPosition,vector <int> &DPosition,vector <int>& NPosition)
{
	//判断是否能够移动第Num块
	if( !HanPop(Num,SPosition,DPosition) )  
	{
		HanMove( Num-1, SPosition,NPosition ,DPosition);
		HanPop(Num,SPosition,DPosition);
	    HanMove( Num-1,NPosition, DPosition,SPosition);
	}
}

⌨️ 快捷键说明

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