数组下标越界

来源:2-5 顺序表编码实战(四)

明眸在心

2016-07-25 11:07

 bool List::ListInsert(int i,int *e){

  if(i<0||m>m_iLength){

  return false;

  }

  for(int k=m_iLength-1;k>=i;k--){

  m_pList[k+1]=m_pList[k];

  }

  m_pList[i]=*e;

  m_iLength++;

  return true;

 }

这部分是在线性表中插入元素,但是在m_iLenght++之前下标不是已经越界了吗

写回答 关注

2回答

  • ziom
    2016-07-31 16:30:58

    这么写是会存在一个下标越界问题,就是当数组已满的情况下。其他情况是不会出现越界的,老师应该是故意留下了这个bug,方便后面讲课的时候重点申明。

    ziom 回复蛋糕店的夏天

    不记得了

    2016-10-02 12:24:04

    共 2 条回复 >

  • qq_FLIJustLovet_03594117
    2016-07-25 16:08:12

    length是当前存储数据的长度,size才是数组的实际容量,只要大小不超过size就不越界,你应该认错变量了。

数据结构探险之线性表篇

线性表的主体顺序表和链表,让学员能够将知识融会贯通学以致用

57564 学习 · 257 问题

查看课程

相似问题