如何在两个函数中访问队列向量

时间:2013-01-20 10:37:55

标签: c++ function loops queue

您好我有以下代码,它将在队列向量中找到最小大小队列,并且每次最小大小队列将用于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函数中的所有队列并进行弹出操作?

1 个答案:

答案 0 :(得分:1)

class MotherOfAllQueues{
    std::vector<std::queue<int> > q;
public:
    void enqueue(int);
    int dequeue();
};

明显的设计有问题吗?