关于向数组指定位置添加元素

来源:1-5 数组中查询元素和修改元素

飞半天的鱼儿

2020-08-04 09:03:39

http://img.mukewang.com/climg/5f28b3790922701800000000.jpg老师,红色框里边应该是data.length-1吧?传入的index不应该超过数组的容量,而不应该是当前数组大小?

写回答

2回答

飞半天的鱼儿

提问者

2020-08-04

http://img.mukewang.com/climg/5f28cee509332a8d08460800.jpg老师,我明白您的意思,但是如果刚刚初始化了一个数组,此时数组是空的,这时候在调用这个add方法向指定位置插入元素,就会插入失败了吧?

0

liuyubobobo

2020-08-04

这是添加元素,index 是可以等于 size 的。


比如你现在的数组有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位置及以后的元素向后挪一个位置。结合代码再仔细思考一下?:)


继续加油!

0

算法与数据结构

波波老师5年集大成之作,算法与数据结构系统学习,考试、面试、竞赛通用

2627 学习 · 1090 问题

查看课程