在 [图形化编程]前导知识-数组(一) 中,我们学习了数组的基本概念-数组的长度和下标,这回我们来看看数组的操作, 这节课我们重点关注添加元素
数组的操作
数组的操作大体可分为以下几种:
- 添加元素
- 按顺序添加元素
- 添加到数组尾部
- 添加到数组头部
- 按索引添加元素
2. 删除元素
3. 更新元素的值
4. 查找
-
- 按元素的值查找索引
- 按索引取出元素的值
5. 对数组中的元素进行排序
这节课我们重点关注添加元素,其他操作会在后面的教程中一一讲解
添加元素
添加元素操作是指把元素的值添加到一个数组中,我们可以想象成把小球放入抽屉柜的过程,只是添加进数组的位置稍有不同
按顺序添加元素
按顺序添加元素非常简单,即按照顺序依次添加元素到数组中,可以通过点击加号和减号按顺序添加或删除数组中的元素
![f71656051828ed7975aeea25bf21eff0.png](https://i-blog.csdnimg.cn/blog_migrate/0b2b4da4c309d19a834a19592f04e542.jpeg)
数组的头部和尾部
数组按位置分为数组的头部和尾部,先进入数组的元素所在的一端称为数组的头部,后进入数组的元素所在的一端称为数组的尾部,如下图所示
![46809019816f2ee3080f437f16966c93.png](https://i-blog.csdnimg.cn/blog_migrate/f60458003ca1ce5c78ae3903e81cd268.jpeg)
添加到数组尾部
添加到数组尾部指的是把元素添加到数组的末尾,这样不会影响到数组中已经存在的元素的索引值,相当于把小球中放入抽屉柜中第一个为空的抽屉,假设抽屉柜一共有 10 个抽屉,其中前面的 5 个抽屉都放入了小球,此时抽屉柜的尾部指的是第六个抽屉,那再来一个新的小球将被放入第六个抽屉,以此类推
我们来看下面这个小程序,(可以按照图中程序模块的颜色找到对应的分类)
- 新建立一个名为 list 的数组,并插入 1 2 两个值 (此时值为 1 的元素的索引值是 0,值为 2 的元素的索引值是 1)
- 在 list 的尾部插入数字 3
- 按顺序取出数组中的每个值,存入变量 a 中
- 显示 a 的值
![836016d9fa68d754c1257dfeba0176cb.png](https://i-blog.csdnimg.cn/blog_migrate/c3430d1b7825d52ff786626180aea58f.jpeg)
结果:
![c4ddf83781c74f3d539b2bb2bad31798.gif](https://i-blog.csdnimg.cn/blog_migrate/2c51b9b955aae2f147beb7b2c56e82d3.gif)
添加到数组头部
添加元素到数组头部与添加到尾部正好相反,添加一个新元素到数组的最前面(即头部),但与添加到尾部不同的是,添加到数组头部会改变当前数组里所有元素的下标,所有元素的下标会加 1,来看看另外一个例子:
- 新建立一个名为 list 的数组,并插入 1 (此时值为 1 的元素的索引值是 0)
- 在数组的头部添加 2 (此时值为 1 的元素索引值为 1,值为 2 的元素索引值为 0)
- 接着在数组的头部添加 3 (此时值为 1 的元素索引值为 2,值为 2 的元素索引值为 1,值为 3 的元素索引值为 0)
- 查询值为 1 的元素的索引值,并输出
![f7fd0bb6e5a6609f03562647843143b5.png](https://i-blog.csdnimg.cn/blog_migrate/e68b8fafdbc43239cf59720ed55ca8a5.jpeg)
结果:
![5a5e27ac5b090b41b0cdd55d0701d201.gif](https://i-blog.csdnimg.cn/blog_migrate/67d4656ff95c2639d6331c4920bc34cd.gif)
按索引添加元素
按索引添加元素就是把新元素添加到指定的索引位置,在该元素的索引之前的所有元素无影响,在该元素的索引之后的所有元素,索引值加1,看看这个例子:
- 创建一个数组,放入值 1 和 3 (此时 1 的索引为 0,3 的索引值为 1)
- 在索引值为 1 的位置插入一个新元素 2(此时 1 的索引值不变,还为 0,3 的索引值变为 2,2 的索引值为 1)
![1e028a9b3defb42e02196bfde5af258b.png](https://i-blog.csdnimg.cn/blog_migrate/5815345444b2532d3aa2f28d91df0076.jpeg)
结果:
![72692c1b9c3f4d277b37accda26b1096.gif](https://i-blog.csdnimg.cn/blog_migrate/c67c6fc47ef6e01b1261d579c23ce034.gif)
欢迎给我留言或私信,如果需要购买 micro:bit 小板子,可以在公众号回复 "购买" 关键字,获取购买链接呦
作者微信公众号:bw_bbz,欢迎关注,个人博客: http://boydwang.com