2017-11-28 6 views
0

誰かがキューのキューを並べ替える方法を知っていました。待ち行列のベクトルをソートキューのベクトルを並べ替える

queue<int> sortedQueue(queue<queue<int>> mainQueue,int countOfChild) 
{ 
    queue<int> sorted; 
    vector<queue<int>> childQueues; 
    for (int i = 0; i < countOfChild; i++) 
    { 
     queue<int> x = mainQueue.front(); 
     mainQueue.pop(); 

     childQueues.push_back(x); 
    } 
    //TODO 
} 
+0

キュー内のデータの例とその並べ替え方法を示します。 –

+0

ソートは通常、比較のためにより小さい演算子 '<'を使って行われます。さて、2つの列の場合、もう1つは他の列よりも少なくなりますか?あなたがそれを知っているなら、あなたはオーバーロードされた '演算子'関数としてそれを実装して、ベクトルで '' std :: sort'(http://en.cppreference.com/w/cpp/algorithm/sort)を呼び出すことができます。 –

+0

キュー内のデータは整数で、昇順にソートしたい例:firstQueue:5 6 9 10 secondQueue:1 2 3最終結果は次のとおりです:1 2 3 5 6 9 10 –

答えて

1

a_vector_of_queuesstd::vector<std::queue<T>>あり、Tint又はstd::stringようにそれのために定義され<オペレータを有する任意のタイプであるstd::sort(a_vector_of_queues.begin(), a_vector_of_queues.end())を入力するのと同じくらい簡単です。

関連する問題