火车车厢重排/队列实现
来源:互联网 发布:李睿北医者怎么样知乎 编辑:程序博客网 时间:2024/05/01 05:25
#include"Squeue.cpp"
#define N 8
int main(){
SqQueue H[N],Inqueue,Outqueue;//声明缓冲区队列,入轨队列,出轨对列
int i,j,a,k,nextout,m,n,front;
InitQueue(Inqueue);//初始化入轨队列
InitQueue(Outqueue);//初始化出轨队列
for(i=0;i<N;i++)//初始化缓冲队列
InitQueue(H[i]);
i=1;
printf("输入车厢总数: ");
scanf("%d",&k);
printf("输入入轨顺序: ");
while(i<=k){//对入轨队列进行赋值
scanf("%d",&a);
EnQueue(Inqueue,a);
i++;
}
i=0;j=0;nextout=1;
while(nextout<=k){//循环出轨
if(!QueueEmpty(Inqueue)) DeQueue(Inqueue,a);//如果入轨队列非空,将入轨头元素出队
for(j=0;j<N;j++){//检测缓冲区队列是否需要出队的头元素
if(!QueueEmpty(H[j])) Getfront(H[j],front);//如果H[队列非空,将入轨头元素出队
if(front==nextout){//如果出队元素是下一个标记元素,则将出队元素入到出轨队列,并将标记元素增加一
EnQueue(Outqueue,front);
nextout++;
}
}
if(a==nextout) {//如果入轨头元素等于标记元素,将该元素入到出轨队列,并将标记元素增加一
EnQueue(Outqueue,a);
nextout++;
}
else{ //该操作完成将入轨对头元素入到缓冲区队列
m=k+1;
if(!QueueEmpty(H[0])) Getrear(H[0],m);//该操作和下边的for循环完成找到尾元素最大的缓冲区队列
for(i=0;i<N;i++){
if(!QueueEmpty(H[i])){
Getrear(H[i],n);
if(m<n){m=n;j=i;}
}
}
if(m<a) EnQueue(H[j],a);//如果入轨头元素小于缓冲区对列最大尾元素,入队
else {//否则,寻找空的缓冲区队列,并入队。
for(i=0;i<N;i++){
if(QueueEmpty(H[i])) {EnQueue(H[i],a);break;}
}
if(i>=N){printf("connot arrange!!"); break;}//如果没有空的缓冲区对列,输出cannot arrange
}
}
}
printf("出轨顺序:");
while(!QueueEmpty(Outqueue)){//输出重拍后的出轨队列
DeQueue(Outqueue,a);
printf("%d ",a);
}
for(i=0;i<N;i++)//销毁所有队列
DestroyQueue(H[i]);
DestroyQueue(Inqueue);
DestroyQueue(Outqueue);
return 0;
}
- 火车车厢重排/队列实现
- 火车车厢重排(栈式实现与队列实现)
- 火车车厢重排(链队列)
- 队列的应用--火车车厢重排列
- 火车车厢重排
- 火车车厢重排
- 火车车厢重排问题
- 数据结构_链队列实验——火车车厢重排问题
- 队列的应用——火车重排(java实现)
- C++ Stack Example Rearranging RailRoad Cars 火车车厢重排问题
- C++ Queue Example Rearranging RailRoad Cars 火车车厢重排问题
- 数据结构(2)——链表形式的堆栈,以及火车车厢重排问题
- 数据结构与算法C++描述(7)---堆栈及其在“火车车厢重排问题”中的应用
- C#(链栈)实现火车重排问题
- 列车车厢重排
- 火车车厢分布图
- 火车车厢分布图
- 列车车厢重排 思维过程正确性
- 怎么设置app的名字为多语言?
- ff_h264_find_frame_end
- 解决ant编译中出现“includeantruntime was not set”警告的问题
- 传话游戏
- django 中多字段主键
- 火车车厢重排/队列实现
- 利用XSS窃取cookie的php脚本
- Flex和js相互调用
- 飞鸽传书绿色版 为什么比较多人用?
- ARC使用说明
- 链表就地逆转
- HDU 1559 最大子矩阵
- 简单的RTSP消息交互过程
- Android OutOfMemory 的思考