用栈的思想分析火车进站出站问题

您所在的位置:网站首页 列车车次的编号有哪些规律 用栈的思想分析火车进站出站问题

用栈的思想分析火车进站出站问题

#用栈的思想分析火车进站出站问题| 来源: 网络整理| 查看: 265

编号为1,2,3,4 的四列火车通过一个栈式的列车调度站,可能得到的调度结果有哪些?如果 有n 列火车通过调度站,请设计一个算法,输出所有可能的调度结果。 【答】: 解题思路:栈具有先进后出、后进先出的特点,因此,任何一个调度结果应该是1 ,2 ,3 ,4 全排列中的一个元素。由于进栈的顺序是由小到大的,所以出栈序列应该满足以下条件:对于 序列中的任何一个数其后面所有比它小的数应该是倒序的,例如4321 是一个有效的出栈序列, 1423不是一个有效的出栈结果(4 后面比它小的两个数 2 ,3 不是倒序)。据此,本题可以通过 算法产生n 个数的全排列,然后将满足出栈规则的序列输出。 依此递归定义,递归算法如下:

#include int cont=1; void print(int str[],int n); void perm(int str[],int k,int n) { int i,temp; if(k==n-1)print(str,n);//k和n-1相等,即一趟递归走完 else{ for(i=k;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3