铁路车厢调度问题。图 1 是一个铁道调车场的示意图,两侧铁道均为单向行驶
道,中间有一段用于调度的“栈道”,调车场的入口处有 n 节硬座和软座车厢(分
别用 H 和 S 表示),设计一个算法,把所有的软座车厢调度到硬座车厢前面来,
要求输出对这 n 节车厢进行调度的(车厢编号)结果序列。
Train=‘HSSSHSHHSSHSHSHSSHHH’

#include<stdio.h>
#include<stdlib.h>
#define maxsize 30
typedef struct {char data[maxsize];int top;
}SeqStack;  //定义栈 void Initial(SeqStack *S){S->top = -1;
}   //初始化 int IsFull(SeqStack *S){return S->top==maxsize-1;
}int IsEmpty(SeqStack *S){return S->top==-1;
}int Push(SeqStack *S,char x){if(IsFull(S))return 0;S->data[++S->top]=x;return 1;
}           //入栈 char Pop(SeqStack *S){char c;if(IsEmpty (S))return 0;c = S->data[S->top];S->top--;return c;
}           //出栈 void Railway(SeqStack *S){int i,j=0,n=20;char train[20] = { 'H','S','S','S','H','S','H','H','S','S','H','S','H','S','H','S','S','H','H','H' }, result[20];for(i=0;i<n;i++){if(train[i]=='S')result[j++]=train[i];          //将软座车厢存放在数组result中 else{Push(S,train[i]);      //将硬座入栈 }}while(!IsEmpty(S)){for(;j<n;j++){result[j]=Pop(S);      //栈中存储的硬座取出并存放在result剩余的空间内 }}for(j=0;j<n;j++){printf("%c",result[j]);      //输出result中的数据 }}main(){SeqStack *S = (SeqStack*)malloc(sizeof(SeqStack));     //给S分配空间 Initial(S);Railway(S);
}

铁路车厢调度问题。图 1 是一个铁道调车场的示意图,两侧铁道均为单向行驶 道,中间有一段用于调度的“栈道”,调车场的入口处有 n 节硬座和软座车厢(分 别用 H 和 S 表示),设计一个算法,把所有的相关推荐

  1. c语言12之编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除。

    题目: 设计一个简单的计算器程序,要求根据用户从键盘输入的表达式: 操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除. 源代码: #include<stdio.h> ...

  2. 如何设计一个比较通用的爬虫系统

    如何设计一个比较通用的爬虫系统 文章目录 如何设计一个比较通用的爬虫系统 背景介绍 页面差异 结果集不同 要发送哪些结果给用户 怎么发送这些数据给用户 项目依赖介绍 表结构 代码类间关系 操作流程 背 ...

  3. java设计一个bank类实现银行_java定义一个类实现银行账户的概念。

    2016-11-17 13:40黄瞩信 客户经理 比如,只定义了一个抽象方法run(),而要通过系统用极短的时间.这5s内,此后这个线程就不能进入其它状态,进入消亡状态;+i++). 2,另一方面;, ...

  4. 【C++练习】4.2假设国家银监局需要统计银行总的存款数量,请设计一个友元函数,用于统计三家银行的总存款量。

    假设国家银监局需要统计银行总的存款数量,请设计一个友元函数,用于统计三家银行的总存款量. /* 2. 假设国家银监局需要统计银行总的存款数量,请设计一个友元函数,用于统计三家银行的总存款量. */ # ...

  5. 题目描述: 某城市有一个火车站,铁轨铺设如图所示。 有n节车厢从A方向驶入车站,按进站顺序编号1~n。 现让这些火车按照某种特定的顺序进入B方向的铁轨并驶出车站。 为了重组车厢,可以借助中转站C。

    题目描述: 某城市有一个火车站,铁轨铺设如图所示. 有n节车厢从A方向驶入车站,按进站顺序编号1-n. 现让这些火车按照某种特定的顺序进入B方向的铁轨并驶出车站. 为了重组车厢,可以借助中转站C. C ...

  6. OM|如何解决春运中的铁路列车调度问题

    作者:Gu W. 铁路运输作为春运的主力军,承担着重要的职责.本文着眼于铁路列车调度问题,介绍了列车运行图.列车时刻表等专业概念,以及如何运用运筹学知识进行列车时刻表的编制. 1. 春运及铁路运输 春 ...

  7. Java黑皮书课后题第9章:9.2(Stock类)遵照9.2节中Cirlce类的例子,设计一个名为Stock的类

    Java黑皮书课后题第9章:9.2(Stock类)遵照9.2节中Cirlce类的例子,设计一个名为Stock的类 题目 代码 Test2 Test2_Stock UML图 题目 代码 Test2:测试 ...

  8. Java黑皮书课后题第9章:9.1 (Rectangle类)遵照9.2节中Circle类的例子,设计一个名为Rectangle的类表示矩形

    Java黑皮书课后题第9章:9.1 (Rectangle类)遵照9.2节中Circle类的例子,设计一个名为Rectangle的类表示矩形 题目 代码 PS Test1 Test1_Rectangle ...

  9. Java黑皮书课后题第10章:*10.10(Queue类)10.6节给出一个Stock类。设计一个名为Queue的类用于存储整数。像栈一样,队列保存元素。在栈中,元素后进先出。队列中元素先进先出

    10.10(Queue类)10.6节给出一个Stock类,设计一个名为Queue的类用于存储整数 题目 程序 破题 代码 Test10.java Test10_Queue.java UML 题目 程序 ...

最新文章

  1. 五种开源协议(GPL,LGPL,BSD,MIT,Apache)介绍
  2. Linux编译安装 php soap模块
  3. compare two oracle database schemas
  4. [MEGA DEAL] Java编程-硕士课程(85%折扣)
  5. 56. 合并区间 golang
  6. 字符数组和strcpy
  7. JAVA NIO基础知识
  8. 除了国内红海拼刀,移动 App 在海外能否挖到新机会?
  9. java-io流入门
  10. TP5 验证-内置规则
  11. LeetCode OJ - Construct Binary Tree from Preorder and Inorder Traversal
  12. rsync的作为版本库的用法(自带时间后缀)
  13. 因子分析在SPSS中的操作过程及结果解读
  14. 以结果为导向的项目管理
  15. ant vue 的datepicker类组件中英文混合显示解决
  16. 凌晨3点不回家,你不要老婆孩子了?
  17. [Qt] 单击任务栏图标实现最小化
  18. ACP敏捷9.敏捷应用场景
  19. 汇编语言开头写C清零是为啥,这个汇编语言代码是什么意思?
  20. Android动画的优化

热门文章

  1. 学生类定义(类和对象)
  2. java泡泡堂教程_JAVA面向对象编程课程设计——泡泡堂(个人博客)
  3. 解决.net framework 3.5 安装失败问题(亲测可行)
  4. 升级我的Blackberry软件并使热键起作用
  5. win10安装软件 打开时报错 找不到 msvcp120.dll
  6. 英雄不问出处 程序员不问岁数
  7. 【智慧酒店解决方案】TSINGSEE青犀视频基于流媒体技术EasyDSS搭建酒店IPTV直播/点播平台
  8. 魔乐科技李兴华老师Oracle笔记阅读摘要
  9. 吕鑫数据库的使用Ado
  10. 浅聊下Spring Task定时器的Cron表达式