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

遍历循环问题

for(int i=m_iHead; i<m_QueneLen ; i++){

          cout<< m_pQuene[i%m_iQuenceLen]<<endl

}

此处,i从3 开始,m_QueneLen是4,不还是只能遍历一个元素,,i++不就越界了。。i%m_iQuenceLen虽然取余了,知识元素下标取余,可i好像并没有变吧。


正在回答

4 回答

首先,下标改成了   i%m_iQueueCapacity,其次,i只是一个整数,本身不存在越界问题。由于在下标中取余了,所以永远访问的是m_iQueueCapacity长度的数组,一直循环,不会越界。

0 回复 有任何疑惑可以回复我~
#1

fforwardd

for(int i=0; i<m_QueneLen ; i++){ cout<< m_pQuene[m_iHead%m_iQuenceLen]<<endl; m_iHead++; }
2019-02-10 回复 有任何疑惑可以回复我~
#2

蜡笔小方超 回复 fforwardd

for (int i = 0; i < m_iQueueLen; i++) { cout << m_pQueue[(m_iHead + i) % m_iQueueCapacity] << endl; }
2019-03-24 回复 有任何疑惑可以回复我~

請問如果i是=3話,而且m_QueneLen = 1時,這個代碼不就無法打印了?


1 回复 有任何疑惑可以回复我~
#1

慕虎6225788

只有一個數字在3的位置
2018-11-10 回复 有任何疑惑可以回复我~

我是说为什么觉得不对,原来真的是老师错了

1 回复 有任何疑惑可以回复我~

老师错了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
数据结构探险—队列篇
  • 参与学习       109940    人
  • 解答问题       170    个

与现实最为贴近的数据结构-队列,带大家进入数据结构的美妙世界

进入课程

遍历循环问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信