我在定义运算符时遇到了一个小问题:
运算符的代码为:
ostream& operator<< (ostream& outs, const IntQueue& queue)
{
NodePtr temp = queue.head;
while(temp->link != NULL)
{
outs << temp->data;
outs << " ";
}
outs << endl;
return outs;
}
我希望操作员为队列中的所有节点以及最后一个节点(指向NULL)显示temp-> data。我不知道如何修改while循环,因此它还会写出最后一个项目(指向NULL)。
希望我能说清楚。
干杯。
最佳答案
ostream& operator <<( ostream& outs, const IntQueue& queue )
{
for ( NodePtr temp = queue.head; temp; temp = temp->link )
{
outs << temp->data;
outs << " ";
}
outs << endl;
return outs;
}