迷宫问题问题描述:把一只小白鼠放入一个迷宫,问能否找到一条路让小白鼠出来。迷宫用数组表示。能通过则给出图……
不同于上次用栈实现,这里的“栈”自动地由系统分配,So……
#include <iostream>
struct Pos
{
int x;
int y;
};
int map[7][7]={{0,0,0,0,0,0,0},{0,1,0,1,1,1,0}[......]
七层汉诺塔的解法
玩汉诺塔疯狂的可以参考一下了
以下是7层汉诺塔的解法:
把1号从a挪动到c
把2号从a挪动到b
把1号从c挪动到b
把3号从a挪动到c
把1号从b挪动到a
把2号从b挪动到c
把1号从a挪动到c
把4号从a挪动到b
把1号从c挪动到b
把2号从c挪动到a
把1号从b挪动到a
把3号从c挪动到b
把1号从a挪动到c
把2号从a挪动到b
把1号从c挪动到b
把5号从a挪动到c
把1号从b挪动到a
把2号从b挪动到c
把1号从a挪动到c
把3号从b挪动到a
把[......]
《数据结构》递归实现汉诺塔
main.cpp:汉诺塔实现。
思路分析:
若n=1,则只需把盘子从a挪动到c
若n>1,
(1)把前n-1个盘子从a经过c挪动到b
(2)把第n个盘子从a挪动到c
(3)把前n-1个盘子从b经过a挪动回c
实现:
#include <fstream>
#include <iostream>
using namespace std;
ofstream fout("out.txt");
void Move(int n,char x,char y[......]
《数据结构》栈实现进制转换
main.cpp:主程序
//Stack.h参见本分类下其它栈问题的描述
#include "../第三章 顺序栈的基本操作/Stack.h"
using namespace std;
int main()
{
int num,tmp=8;
Stack S;
InitStack(S);
cin>>num;
while(num!=0)
{
Push(S[......]
《数据结构》括号匹配问题的实现
main.cpp:主程序
//Stack.h参见本分类其它栈问题的记录。
#include "../第三章 顺序栈的基本操作/Stack.h"
using namespace std;
int main()
{
Stack S;
InitStack(S);
int tmp;
char c;
while((c=getchar())!='\n')
{
&nbs[......]