挑战一下脑力

来源:百度知道 编辑:UC知道 时间:2024/05/22 07:25:15
不知道这个算不算是难题 反正我是被折腾了很长时间,每个头绪 哪位大大能给个思路,不要程序要算法
题目如下
假如有i个车厢进站,出站,给出所有可能出站的顺序,用栈实现
比如说有i==3
出站的顺序是
123
132
213
231
321
可能我描述的不大正确题目是这样的
[问题描述]假设停在铁路调度站入口处的车厢序列的编号依次为1,2,3……N。设计一个程序,求出所有由此输出的长度为N的车厢序列。

一般的说,在操作过程中的任何状态下都有两种可能的操作:“入”和“出”。每个状态下处理问题的方法都是相同的,这说明问题本身具有天然的递归特性,可以考虑一用递归算法实现。输入序列可以仅由一队整形变量表示,给出序列头/尾号。输出序列由栈实现是方便的,只要再定义一个栈打印操作PRINT(S),自底至顶顺序地印出栈元素的值

字典顺序.考虑的是序列中每个数与其后面的数之间的关系.如6427531,从个位1开始,从右往左开始比较,1与3,3与5,5与7,7与2,因为7与2逆序,所以2被7531中最小的大于2的数3所替换,此时后四位为2751,再将其从小到大排列即可