请教各位大佬

来源:2-3 向数组中添加元素

WhatsUpBitch

2018-04-18

在index位置插入一个新的值e时,为什么要判断index>size而不是index>=size呢,index不是代表位置吗,size代表元素的个数即长度,比如size=7的时候index=6啊,也就是说size是不可能等于index的吧?

写回答

2回答

liuyubobobo

2018-04-18

比如你现在的数组有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
2
liuyubobobo
回复
慕娘3381479
0 1 2 3 4 是五个元素;当你插入元素5以后,一共有留个元素。在这个例子中,没有元素6。
2018-05-10
共2条回复

WhatsUpBitch

提问者

2018-04-18

懂了懂了!多谢老师提醒!!

0
0

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程