C++ 如何从队列中获取元素
这是我调用get函数的开关盒C++ 如何从队列中获取元素,c++,if-statement,C++,If Statement,这是我调用get函数的开关盒 int get(){ if (head == 0) { return -999; } else { int v = head->item; link t = head->next; delete head; head = t; return v; }
int get(){
if (head == 0) {
return -999;
}
else {
int v = head->item;
link t = head->next;
delete head; head = t;
return v;
}
}
if(q.get()!=-999){
cout因为调用get()两次
一旦进入if(q.get()!=-999)
另一个在cout中,您实际上调用了q.get()
两次,如下所示:
if (q.get() != -999) {
cout << q.get() << " element removed from Queue" << endl;
}
else {
cout << "nothing to get; queue is empty" << endl;
}
您的“queue.get()”更改当前节点。您正在执行其中两个操作:一次在“if”中,然后再次在“cout”中。这是您真正想要的吗???
if (q.get() != -999) // First time
cout << q.get() << " element removed from Queue" << endl; // Second time
else
cout << "nothing to get; queue is empty" << endl;
int lastValue = q.get();
if (lastValue != -999)
cout << lastValue << " element removed from Queue" << endl;
else
cout << "nothing to get; queue is empty" << endl;