遍历循环问题

来源:4-2 环形队列实现下

cdc66

2018-08-13 14:32

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回答

  • 专业小菜鸟
    2018-08-14 18:32:42
    已采纳

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

    蜡笔小方哎 回复fforwa...

    for (int i = 0; i < m_iQueueLen; i++) { cout << m_pQueue[(m_iHead + i) % m_iQueueCapacity] << endl; }

    2019-03-24 13:26:46

    共 2 条回复 >

  • 慕虎6225788
    2018-11-10 01:36:49

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


    慕虎6225...

    只有一個數字在3的位置

    2018-11-10 01:37:45

    共 1 条回复 >

  • 用户一条鱼
    2018-09-14 11:25:52

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

  • 奥破1104
    2018-09-11 16:17:01

    老师错了

数据结构探险—队列篇

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

110036 学习 · 170 问题

查看课程

相似问题