【排序】小白鼠再排队

题目

N只小白鼠(1 < N < 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从小到大的顺序输出它们头上帽子的颜色。帽子的颜色用 “red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。 继续阅读【排序】小白鼠再排队

二叉树的相关操作

BiTree() { bt = Creat(bt); } //创建树
~BiTree() { ReleaseTree(bt); } //销毁树
void PreOrder() { PreOrder(bt); } //前序遍历
void InOrder() { InOrder(bt); } //中序遍历
void PostOrder() { PostOrder(bt); } //后序遍历
void levelOrder() { levelOrder(bt); }//层序遍历
void swapLR() { swapLR(bt); } //交换子树
int leafCount() { return leafCount(bt); } //计算叶子
int nodeCount() { return nodeCount(bt); } //计算结点
int highOfTree() { return highOfTree(bt); } //计算树高 继续阅读二叉树的相关操作

汉诺塔问题

描述

给定A、B、C三根足够长的细柱,在A柱上放有n个中间有孔的圆盘,共有n个不同的尺寸,现要将这些圆盘移到C柱上,在移动过程中可放在B柱上暂存。要求:
(1)每次只能移动一个圆盘;
(2)A、B、C三根细柱上的圆盘都要保持上小下大的顺序;
任务:设An为n个圆盘完成上述任务所需的最少移动次数,对于输入的n,输出An以及移动过程

输入盘子的个数输出移动的移动的路径和次数

样例输入

3

 

样例输出

move A->C
move A->B
move C->B
move A->C
move B->A
move B->C
move A->C
7

 

继续阅读汉诺塔问题