1 / 23
文档名称:

火车调度.pptx

格式:pptx   页数:23页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

火车调度.pptx

上传人:分享精品 2016/3/3 文件大小:0 KB

下载得到文件列表

火车调度.pptx

相关文档

文档介绍

文档介绍:火车调度——队列与非队列By 秦政题目要求?一列货运列车共有n节车厢,每节车厢将停放在不同的车站。?假定n个车站的编号分别为1~n,货运列车按照第n站至第1站的顺序经过这些车站。车厢编号与它们的目的地一样。?为了便于从列车上卸掉相应的车厢,必须重排车厢顺序,使得各车厢从前往后按编号1到n的次序排列。思考?从前至后依次检查入轨上的所有车厢?如果正在检查的车厢就是下一个满足排列要求的车厢,可以直接把它放如果不是,则把它移动到缓冲铁轨上,直到按输出次序要求轮到它时才将它放到出轨上。If(require==queue)主车道H1H2H3561432N=6,K=3 入轨OUT=1 ?OUT=2 ?If(require==queue)主车道H1H2H3561432OUT=2 ?OUT=3 ?OUT=4 ?OUT=5 ?OUT=6 ?N=6,K=3 出轨最优车道的选择方面:?当在检索缓冲车道的时候,始终按H1,H2,H3的顺序?只有在检索的当前车道,末尾车厢号大于当前要处理的车厢号时,才会查看下一个缓冲车道?这样的做法导致H1末尾车厢号>H2末尾车厢号>H3末尾车厢号>……?故最优车道就是顺次满足条件的第一车道If(require==queue)代码:入轨If(require==queue)inttrainsport(int train[], int &n,int &k){//train[]为处理的列车,n为列车的节数,k为缓冲车道的数量int out = 1, t_rear = 0,j;bool en = 1;//out为应出的车厢号,t_rear为缓冲车道的顺次最后一节车厢号(如无车厢则为0)//j为缓冲车道的变化临时参数//en为车厢是否直接出轨或进入缓冲车道(1),如无,则为0SeqQueue*H = new SeqQueue[k];//新建缓冲车道for (inti = 0; i < n;){if (train[i] == out){//判断能否直接出轨out++;i++;}If(require==queue)else{for (j = 0, en = 0; en == 0 && j < k && i<n; ){//在车厢未直接出轨,且缓冲车道没有完全利用,且车厢仍有剩余的情况下进入缓冲车道的选择H[j].getRear(t_rear);if (H[j].IsFull() != true && t_rear < train[i]){//入缓冲车道则入队列H[j].EnQueue(train[i]);i++; en = 1;}j++;if ((en == 0) && (j == k)){//在尝试所有缓冲车道之后,仍未能进,则无法调度cout << "无法进行调度!" << endl;return 0;}}}}Print(H, n, k);return 1;}代码:入轨代码:出轨&&输出If(require==queue)void Print(SeqQueue*H, int &n, int &k){intt_front = 0;//t_front为缓冲车道的顺次第一节车厢号(如无车厢则为0)for (int out = 1; out < n + 1; out++){boolIsOut = 0;//判断当前out对应车厢是否在缓冲车道内for (int j = 0; j < k; j++){H[j].getFront(t_front);if (t_front == out){//出缓冲车道则出队列cout << out << "号车厢出H" << j + 1 << endl;H[j].DeQueue(t_front);IsOut = 1;break;}}if (IsOut == 0){cout << out << "号车厢直接出轨" << endl;}}}代码:生成随机数If(require==queue)void RandTrain(int *a,int n){//生成n随机数的函数,存在*a中int *mark = new int[n];//标记数组srand((unsigned)time(NULL));//根据时间产生一个变量for (int i = 0; i != n;){int r = rand() % n;if (mark[r] != 1){a[r] = i + 1;mark[r] = 1;//把已经存过的数组进行标记i++;}}cout << "随机产生的车厢序号:";for (int i = 0; i < n; i++){cout << a[i] << " ";}cout << endl;}

最近更新

2025年中级注册安全工程师之安全生产技术基础.. 187页

2025年初级银行从业资格之初级风险管理考试题.. 169页

2025年初级银行从业资格之初级风险管理考试题.. 169页

2025年县乡教师选调考试《教师职业道德》题库.. 49页

七年级上学期语文教学计划集合 7页

2025年中级注册安全工程师之安全生产技术基础.. 188页

2025年中级注册安全工程师之安全生产技术基础.. 189页

2025年咨询工程师(经济政策)考试题库及答案.. 63页

2025年县乡教师选调考试《教师职业道德》题库.. 52页

2025年咨询工程师(经济政策)考试题库附参考.. 63页

2025年中级银行从业资格之中级个人理财考试题.. 179页

2025年中级银行从业资格之中级个人理财考试题.. 179页

2025年事业单位招聘职业能力倾向测验考试题库.. 113页

2025年半导体锗硅薄膜材料及相关工艺技术教学.. 19页

一:收费站安全工作计划 6页

2025年国家电网招聘之电网计算机考试题库附完.. 159页

2025年二级建造师之二建建筑工程实务考试题库.. 161页

2025年二级建造师之二建建筑工程实务考试题库.. 163页

2025年国家电网招聘之电网计算机考试题库及一.. 159页

2025年国家电网招聘之电网计算机考试题库及答.. 159页

一年级语文教学工作计划第二学期一年级第二学.. 6页

2025年深圳旅游的作文(精选16篇) 23页

2025年事业单位招聘职业能力倾向测验考试题库.. 111页

2025年初级银行从业资格之初级个人贷款考试题.. 167页

2025年二级建造师之二建建筑工程实务考试题库.. 163页

2025年初级银行从业资格之初级个人贷款考试题.. 170页

九年级物理(下册)期末试卷及答案(完整) 10页

幼儿园燃气事故应急方案 5页

兼职体育教练聘用合同 5页

危货运输应急演练总结报告 5页