采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
在index位置插入一个新的值e时,为什么要判断index>size而不是index>=size呢,index不是代表位置吗,size代表元素的个数即长度,比如size=7的时候index=6啊,也就是说size是不可能等于index的吧?
比如你现在的数组有0 1 2 3 4,五个元素,当你在这个数组中新插入一个元素e的时候,是可以在index=5的位置插入的,也就是在整个数组的末尾插入。因为插入一个新的元素后,我们的数组就有6个元素了,此时index可以等于5,也就是插入数据前数组的size。
在这个例子中,在不同的位置插入元素e,得到的结果如下:
在index=0的位置插入元素e后:e 0 1 2 3 4
在index=1的位置插入元素e后:0 e 1 2 3 4
在index=2的位置插入元素e后:0 1 e 2 3 4
在index=3的位置插入元素e后:0 1 2 e 3 4
在index=4的位置插入元素e后:0 1 2 3 e 4
在index=5的位置插入元素e后:0 1 2 3 4 e
观察一下,在index的位置插入元素e,相当于是让e放到index的位置,index位置及以后的元素向后挪一个位置。结合代码再仔细思考一下?:)
加油!
传入参数的时候是5调add方法的时候size还是5这个6是什么时候来的,程序还没有开始添加元素这个元素6是从什么时候进去的?
0 1 2 3 4 是五个元素;当你插入元素5以后,一共有留个元素。在这个例子中,没有元素6。
懂了懂了!多谢老师提醒!!
登录后可查看更多问答,登录/注册
动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…
10.4k 16
1.4k 17
1.3k 14