没有合适的资源?快使用搜索试试~ 我知道了~
火车调度C++代码.doc
0 下载量 182 浏览量
2023-10-21
09:09:08
上传
评论
收藏 13KB DOC 举报
温馨提示
试读
2页
列车调度火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc火车调度C++代码.doc
资源推荐
资源详情
资源评论
#include<iostream>
#include<stack>
using namespace std;
int main() {
int n,i,j,k=0,num;
bool hold=false;
cin>>n;//输入要调节的火车车厢的个数
stack<int> *a = new stack<int> [n-1];//定义n-1个缓冲轨
cin>>num;
cout<<"the "<<num<<" carriage drives into the 1 rail"<<endl;
a[k].push(num);
for(i=0;i<n-1;++i){//读取车厢号
cin>>num;
for(j=0;j<=k;++j) {
if(num<a[j].top())
{//如果输入的车厢号比这个缓冲轨的顶部元素小的话,则压入缓冲轨中
a[j].push(num);
cout<<"the "<<num<<" carriage drives into the "<<j+1<<"
rail"<<endl;
break;
}
if(j==k&&k==n-2){//如果缓冲轨被用了n-
1个,还差一个不能驶入其中的话,说明其输入为
hold=true; //顺序的1到n,记录为true.
break;
}
if(j==k)
{//如果该车厢号不能压入原先的k个缓冲轨中,则压入新的缓冲轨中,并记录使用
a[k+1].push(num);//缓冲轨的个数k。
cout<<"the "<<num<<" carriage drives into the "<<k+2<<"
rail"<<endl;
++k;
break;
}
}
}
if(hold==true) {//如果是确认了输入为顺序的1到n,则按照如下方式输出
for(i=0;i<n-1;++i){
//cout<<a[i].top()<<" ";
cout<<"the "<<a[i].top()<<" carriage drives out from the "<<i+1<<"
rail"<<endl;
a[i].pop();
}
//cout<<num;//输出最后一个没能入缓冲轨的车厢
cout<<"the last carriage "<<num<<" was not drove into the rail and it is
out"<<endl;
}
else {//如果不是顺序期望输入,则按照如下方式输出
for(i=1;i<=n;++i)
for(j=0;j<=k;++j){
资源评论
会的东西有点杂
- 粉丝: 742
- 资源: 230
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功