铁路车厢调度问题。图 1 是一个铁道调车场的示意图,两侧铁道均为单向行驶 道,中间有一段用于调度的“栈道”,调车场的入口处有 n 节硬座和软座车厢(分 别用 H 和 S 表示),设计一个算法,把所有的
铁路车厢调度问题。图 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 表示),设计一个算法,把所有的相关推荐
- c语言12之编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除。
题目: 设计一个简单的计算器程序,要求根据用户从键盘输入的表达式: 操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除. 源代码: #include<stdio.h> ...
- 如何设计一个比较通用的爬虫系统
如何设计一个比较通用的爬虫系统 文章目录 如何设计一个比较通用的爬虫系统 背景介绍 页面差异 结果集不同 要发送哪些结果给用户 怎么发送这些数据给用户 项目依赖介绍 表结构 代码类间关系 操作流程 背 ...
- java设计一个bank类实现银行_java定义一个类实现银行账户的概念。
2016-11-17 13:40黄瞩信 客户经理 比如,只定义了一个抽象方法run(),而要通过系统用极短的时间.这5s内,此后这个线程就不能进入其它状态,进入消亡状态;+i++). 2,另一方面;, ...
- 【C++练习】4.2假设国家银监局需要统计银行总的存款数量,请设计一个友元函数,用于统计三家银行的总存款量。
假设国家银监局需要统计银行总的存款数量,请设计一个友元函数,用于统计三家银行的总存款量. /* 2. 假设国家银监局需要统计银行总的存款数量,请设计一个友元函数,用于统计三家银行的总存款量. */ # ...
- 题目描述: 某城市有一个火车站,铁轨铺设如图所示。 有n节车厢从A方向驶入车站,按进站顺序编号1~n。 现让这些火车按照某种特定的顺序进入B方向的铁轨并驶出车站。 为了重组车厢,可以借助中转站C。
题目描述: 某城市有一个火车站,铁轨铺设如图所示. 有n节车厢从A方向驶入车站,按进站顺序编号1-n. 现让这些火车按照某种特定的顺序进入B方向的铁轨并驶出车站. 为了重组车厢,可以借助中转站C. C ...
- OM|如何解决春运中的铁路列车调度问题
作者:Gu W. 铁路运输作为春运的主力军,承担着重要的职责.本文着眼于铁路列车调度问题,介绍了列车运行图.列车时刻表等专业概念,以及如何运用运筹学知识进行列车时刻表的编制. 1. 春运及铁路运输 春 ...
- Java黑皮书课后题第9章:9.2(Stock类)遵照9.2节中Cirlce类的例子,设计一个名为Stock的类
Java黑皮书课后题第9章:9.2(Stock类)遵照9.2节中Cirlce类的例子,设计一个名为Stock的类 题目 代码 Test2 Test2_Stock UML图 题目 代码 Test2:测试 ...
- Java黑皮书课后题第9章:9.1 (Rectangle类)遵照9.2节中Circle类的例子,设计一个名为Rectangle的类表示矩形
Java黑皮书课后题第9章:9.1 (Rectangle类)遵照9.2节中Circle类的例子,设计一个名为Rectangle的类表示矩形 题目 代码 PS Test1 Test1_Rectangle ...
- Java黑皮书课后题第10章:*10.10(Queue类)10.6节给出一个Stock类。设计一个名为Queue的类用于存储整数。像栈一样,队列保存元素。在栈中,元素后进先出。队列中元素先进先出
10.10(Queue类)10.6节给出一个Stock类,设计一个名为Queue的类用于存储整数 题目 程序 破题 代码 Test10.java Test10_Queue.java UML 题目 程序 ...
最新文章
- 五种开源协议(GPL,LGPL,BSD,MIT,Apache)介绍
- Linux编译安装 php soap模块
- compare two oracle database schemas
- [MEGA DEAL] Java编程-硕士课程(85%折扣)
- 56. 合并区间 golang
- 字符数组和strcpy
- JAVA NIO基础知识
- 除了国内红海拼刀,移动 App 在海外能否挖到新机会?
- java-io流入门
- TP5 验证-内置规则
- LeetCode OJ - Construct Binary Tree from Preorder and Inorder Traversal
- rsync的作为版本库的用法(自带时间后缀)
- 因子分析在SPSS中的操作过程及结果解读
- 以结果为导向的项目管理
- ant vue 的datepicker类组件中英文混合显示解决
- 凌晨3点不回家,你不要老婆孩子了?
- [Qt] 单击任务栏图标实现最小化
- ACP敏捷9.敏捷应用场景
- 汇编语言开头写C清零是为啥,这个汇编语言代码是什么意思?
- Android动画的优化