您好我有以下代码,它将在队列向量中找到最小大小队列,并且每次最小大小队列将用于enqueue(push)
int
std::vector<std::queue<int> > q
void enqueue(){
int min_index = 1;
std::size_t size = q.size();
for( i=2; 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)
}
现在我的另一个范例是在另一个函数中执行dequeue(pop)操作(如下所示),我需要访问enqueue()函数中声明的所有队列向量。如何在enqueue()函数中给出队列循环?
void dequeue(){
//q.pop operation , access all the queues in the vector of queues
}
将q[i].pop(int)
;访问enqueue函数中的所有队列并进行弹出操作?
答案 0 :(得分:1)
class MotherOfAllQueues{
std::vector<std::queue<int> > q;
public:
void enqueue(int);
int dequeue();
};
明显的设计有问题吗?