实验内容:火车车厢重排问题。 实验说明: 转轨站示意图如下: 火车车厢重排过程如下: 3. 模块分析 1.void Output(int& minH,int& minQ,LinkQueueH[],int k,int n) 将车厢从缓冲轨出轨 2.bool Hold(int c,int &minH,int &minQ,LinkQueueH[],int k) 将车厢移入缓冲轨 3.bool Railroad(int p[],int n,int k) 将车厢直接移至出轨 4. 设计分析 用队列解决出列问题,这里采用的是顺序队列的存储结构。  采用的算法思想是:分别对k个队列初始化;初始化下一个要输出的车厢编号nowOut = 1; 依次取入轨中的每一个车厢的编号;如果入轨中的车厢编号等于nowOut,则输出该车厢;nowOut++;否则,考察每一个缓冲轨队列      for (j=1; j<=k; j++)    3.2.1 取队列 j 的队头元素c;   3.2.2 如果c=nowOut,则         3.2.2.1 将队列 j 的队头元素出队并输出;     3.2.2.2  nowOut++;   如果入轨和缓冲轨的队头元素没有编号为nowOut的车厢,则求小于入轨中第一个车厢编号的最大队尾元素所在队列编号j;如果 j 存在,则把入轨中的第一个车厢移至缓冲轨 j;如果 j 不存在,但有多于一个空缓冲轨,则把入轨中的第一个车厢移至一个空缓冲轨;否则车厢无法重排,算法结束
2021-11-01 22:07:15 363KB 数据结构 火车车厢重排问题 队列
1
本文实例讲述了C#查找字符串所有排列组合的方法。分享给大家供大家参考。具体实现方法如下: // 1. remove first char // 2. find permutations of the rest of chars // 3. Attach the first char to each of those permutations. // 3.1 for each permutation, move firstChar in all indexes // to produce even more permutations. // 4. Return list of possib
2021-10-28 19:25:23 31KB string 字符 字符串
1
组合数学之EVEN法生成排列 学习组合数学的朋友可以参考一下
2021-10-26 18:46:19 922KB 组合数学 EVEN法生成排列 代码
1
C语言循环语句专项练习题
2021-10-25 18:05:30 576B educoder c C语言循环语句专项练习题
1
Description 给定n 个整数组成的序列,现在要求将序列分割为m 段,每段子序列中的数在原序列中连续排列。如何分割才能使这m段子序列的和的最大值达到最小? 编程任务: 给定n 个整数组成的序列,编程计算该序列的最优m 段分割,使m 段子序列的和的最大值达到最小。 Input 输入由多组测试数据组成。 每组测试数据输入的第1行中有2个正整数n和m。正整数n是序列的长度;正整数m是分割的段数。接下来的一行中有n个整数。 Output 对应每组输入,输出的每行是计算出的m段子序列的和的最大值的最小值。 Sample Input 1 1 10 Sample Output 10
2021-10-21 08:50:46 1KB Minimal m Sums
1
解决字典序排序中的索引问题
2021-10-20 22:03:20 2KB c++
1
完成SEO关键词排列组合,可以独立建立关键词随机组合。
2021-10-19 04:11:01 1.5MB SEO关键词
1
排列组合知识点归纳与典型例题(全).doc
2021-10-16 16:03:15 318KB 文档
排列组合知识点和方法归纳.doc
2021-10-16 16:03:14 331KB 文档
高中数学人教版选修2-3(理科)第一章计数原理1.2.1排列(I)卷.pdf
2021-10-15 22:01:35 468KB 教育