博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[华为机试练习题]26.铁路栈问题
阅读量:6149 次
发布时间:2019-06-21

本文共 1335 字,大约阅读时间需要 4 分钟。

题目

描述: 题目标题:铁路栈问题

铁路的调度站如下:

这里写图片描述

火车编号为:1~9,且不重复。

如:编号分别为“1”、“2”、“3”、“4”、“5”的5个火车顺序进站,那么进站序列为“12345”,全部进站后再顺序出站,则出站序列为“54321”,如果先进1,2,然后2出站,然后1出站,然后再3进站、出站,4进站、出站,5进站、出站,那么出站序列就为21345.

详细描述:

int JudgeTrainSequence (int maxNum, char *pOutSeq);

输入参数:

int maxNum:进站的火车最大编号char* pOutSeq:使用字符串表示火车出站序列

输出参数(指针指向的内存区域保证有效):

无。

返回值:

Int: 根据输入的进站序列判断,如果输入的出站序列是可能的,返回1,否则返回0;

练习阶段: 高级

代码

/*---------------------------------------*   日期:2015-07-01*   作者:SJF0115*   题目:铁路栈问题 *   来源:华为机试练习题-----------------------------------------*/#include 
#include
#include
using namespace std;/*详细描述: int JudgeTrainSequence (int maxNum, char *pOutSeq);输入参数: int maxNum:进站的火车最大编号 char* pOutSeq:使用字符串表示火车出站序列输出参数(指针指向的内存区域保证有效): 无。返回值: Int: 根据输入的进站序列判断,如果输入的出战序列是可能的,返回1,否则返回0;*/int JudgeTrainSequence (int maxNum, char *pOutSeq){ if(pOutSeq == NULL || maxNum <= 0){ return 0; }//if int size = strlen(pOutSeq); stack
trainSeq; // 初始 int index = 1; for(int i = 0;i < size;){ if(trainSeq.empty() || trainSeq.top() < pOutSeq[i] - '0'){ trainSeq.push(index); ++index; }//if else{ trainSeq.pop(); ++i; }//else }//for if(!trainSeq.empty()){ return 0; }//if return 1;}
你可能感兴趣的文章
MySql操作
查看>>
python 解析 XML文件
查看>>
MySQL 文件导入出错
查看>>
java相关
查看>>
由一个异常开始思考springmvc参数解析
查看>>
向上扩展型SSD 将可满足向外扩展需求
查看>>
jenkins updatecenter更新插件有问题
查看>>
创建以mybatis为基础的web项目(2)mabitis中的一对一关系项目实战
查看>>
oracle DDL
查看>>
finnal 评论 II
查看>>
Squirrel GUI+ Phoenix 连接Hbase
查看>>
WinCE6.0下在Static Text控件中显示JPG图片
查看>>
输入一条url后,发生了什么??
查看>>
CentOS 7下mysqld服务启动失败终极解决方案
查看>>
游戏开发中常用的设计模式
查看>>
进程管理
查看>>
Redis分布式锁的try-with-resources实现
查看>>
取消锚(<a/>)点击后页面跳转的几种方法
查看>>
Html5 css reset
查看>>
Hbase 布隆过滤器BloomFilter介绍
查看>>