铁路调度
来源:互联网 发布:挂画淘宝详情页模版 编辑:程序博客网 时间:2024/04/27 19:24
在入口处有n节硬席车厢和软席车厢(分别用1和2表示)等待调度,设计一个算法,输出对这n节车厢进行调度的操作序列。
#include<iostream.h>
//#include<fstream>
const int maxsize=100;
class seqstack
{
public:
int stack[maxsize];//定义栈数组
int top;//指向栈顶位置的指针
void inistack(seqstack &s);//初始化栈
void push(seqstack &s,int x);//入栈
void pop(seqstack &s);//删除栈顶元素
int gettop(seqstack s);//取栈顶元素
bool empty(seqstack s);//判断栈是否为空
};
void seqstack::inistack(seqstack &s)
{
s.top=0;
}
void seqstack::push(seqstack &s ,int x)
{
if(s.top==maxsize-1) cout<<"overflow"<<endl;
else
{
s.top++;
s.stack[s.top]=x;
}
}
void seqstack::pop(seqstack &s)
{
if(s.top==0)
cout<<"underflow/n";
else
s.top--;
}
int seqstack::gettop(seqstack s)
{
if(s.top==0)
{
cout<<"underflow/n";
return 0;
}
else return s.stack[s.top];
}
bool seqstack::empty(seqstack s)
{
if(s.top==0)
return true;
else
return false;
}
void trin(int a[],int n)
{
int i,j;
seqstack s;
s.inistack(s);
for(i=0;i<n;i++)//代号为1的硬席入栈,代号为2的软席直接输出
{
if(a[i]==1)
s.push(s,a[i]);
else
cout<<a[i]<<" ";
}
while(!s.empty(s))//输出硬席车厢
{
j=s.gettop(s);
cout<<j<<" ";
s.pop(s);
}
}
void main()
{
int n=10;
int a[10]={1,2,1,2,1,1,2,2,1,2};//1表示硬席,2表示软席
trin(a,n);//调用铁路调度算法
}
- 铁路调度
- EOJ 1802 铁路调度
- 铁路图
- 铁路限界
- 铁路SLD
- 渝广铁路
- 上海铁路售票网点
- 铁路列车车次编码规则
- 山洪暴发,铁路中断.
- 中国铁路图
- 铁路与多核多线程
- 中国铁路成本计算电子书
- 铁路线路规划
- 王梦恕反对铁路改革
- 铁路专业词汇
- 铁路的卡控
- 铁路标准 EN 50126
- 铁路环评不达标
- subplot用法
- c:/progra~1是什么??
- 郁金香delphi外挂编程(翻录版) 种子发布
- 顺序栈
- Win32全局钩子在VC5中的实现
- 铁路调度
- 今天下午准备去买个8700的机器先过渡一下。
- 好文推荐:VC++动态链接库(DLL)编程深入浅出
- javascript 判断文件是否存在 整理
- freeze用法初探
- 自己懂001——ListTest
- struts源代码阅读
- C++ 中避免同一文件被多次引用解决方案
- 责任,时间,技术创新-20100221