更新しました
前に整数がベクトルのキューにエンキューされるというロジックを持つと、キューのループが検索され、キューの中で最小サイズのキューに整数がエンキューされます。次のコードは、操作を示しています
#include <vector>
#include <queue>
std::vector<std::queue<int> > q
int min_index = 0;
std::size_t size = q.size();
for( i=0; i<size; i++){ //accessing loop of queues
if(q[min_index].size() > q[i].size())
min_index = i; // Now q[min_index] is the shortest queue
}
q[min_index].push(int)
キューのループ内の最短キューのサイズが別のキューのサイズ以下であるという条件が真である間、整数が最短キューにエンキューされ続ける必要があるという条件でこのロジックを拡張しようとしています。
以下のコードのようなことをしたい
#include <vector>
#include <queue>
std::vector<std::queue<int> > q
int min_index = 0;
std::size_t size = q.size();
for( i=0; i<size; i++){ //accessing loop of queues
if(q[min_index].size() > q[i].size())
min_index = i
while(q[min_index].size <= q[some_other_index].size() )
{
q[min_index].push(int);
}
このロジックを実装する方法は?