为了账号安全,请及时绑定邮箱和手机立即绑定

queue队列

queue队列

森林海 2018-08-15 14:14:24
按照上面的代码如果我输入:Hello World   Here I Come我理解的是输出:Hello World   Here I Come 为什么运行的时候输出的是Hello World
查看完整描述

1 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

你好,关键的地方在于:

for(int i = 0; i < q.size(); i++)
     {         
         cout << q.front();
              q.pop();
                   }

你使用了for循环进行输出,但是要知道,你在for循环里q.pop() 之后q.size()就少一位了呀,所以for循环执行的次数根本没有25次,当执行到World的最后一个单词d的时候,i已经和q.size()一样大了。

输出队列的方法应该是while循环:

while(q.size()>0)
{
   cout<<q.front();
   q.pop();
}


查看完整回答
反对 回复 2018-08-28
  • 1 回答
  • 0 关注
  • 756 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信