[ 火车车厢重排问题 ] 编号为1至N的N个货运车厢需要编组,在进入编 组区前,这些车厢是随机排列的。在编组区里,需要将运货的各节车厢 从大到小排好。驶离编组区后直接挂接火车车头,编组区现有3条空轨道 可供使用。请完善下列代码: bool realign(queue<int> track) //track中存放进编组区前的各车厢编 号。返回值true表示可以完成重组;false表示不可以完成。 { int x; queue< [填空1]> track1, track2, track3; while (!track.empty()) { x= [填空2]; track.pop(); if (track1.empty() || x > [填空3]) track1.push(x); else if (track2.empty() || x > [填空4] ) track2.push(x); else if (track3.empty() || x > [填空5] ) track3.push(x); else return [填空6] ; } return [填空7]; }
时间: 2023-05-16 16:06:26 浏览: 165
火车车厢重排问题
bool realign(queue<int> track)
{
int x;
queue<int> track1, track2, track3;
while (!track.empty())
{
x = track.front();
track.pop();
if (track1.empty() || x > track1.back())
{
track1.push(x);
}
else if (track2.empty() || x > track2.back())
{
track2.push(x);
}
else if (track3.empty() || x > track3.back())
{
track3.push(x);
}
else
{
return false;
}
}
return true;
}
阅读全文