八、数组

23 阅读2分钟

一、数组的创建

  1. 字面量的方式创建

image.png 2. 内置构造函数的方式

  • 创建一个空数组

image.png

  • 创建一个有长度的数组

image.png

  • 创建一个有内容的数组

image.png

二、数组的操作

  1. 获取长度(有多少个数据,数组的长度就是多少)
  • 语法:数组.length

image.png 2. 设置数组长度

  • 语法:数组.length=

image.png

image.png

  1. 获取数据
  • 数组的索引从0开始,即第一个数据的索引是0,第二个数据的索引是1,第三个数据的索引是2...
  • 获取数据则是查找索引对应的值
  • 语法:数组[索引值]

image.png 4. 设置数据

  • 语法:数组[索引值]=具体数值

三、数组的遍历

  • 方法:利用循环进行遍历,开始为0,结束值小于数组长度,步长为1,使用循环控制变量当作索引,来访问数组内的每一个数据。

image.png

四、案例一:冒泡排序

  • 定义:把乱序的数组,经过代码操作,变成顺序的数组。
  • 分析:利用循环遍历数组,将数字两两比较,如果前面数字大于后面数字,交换位置;如果钱买你数字小于后面数字,则不交换位置;第一轮循环结束,会将最大的数字放到最后;继续进行后续的循环,最终得到顺序的数组。

image.png 可以优化的部分:内层循环循环次数-1,因为最后一次索引8和索引9的比较没有必要,索引9的位置没有数据; 外层循环循环次数-1,因为倒数第二次循环,就已经得到了最小的数字,最后一轮索引0和索引1的比较没必要;内层循环层数在上面的基础上-外部循环的次数,因为外部循环之后已经拿到了后面的数字,在新一轮的循环中,不必重复比较。

  • 优化后的冒泡排序:

image.png

五、案例二:选择排序

  • 定义:把乱序的数组,经过代码操作,变成顺序的数组。
  • 分析:循环遍历数组,第一轮假设索引0位置的数字最小,将后边的数字与其进行比较,如果比索引0位置的数字小,则交换位置;如果比索引0位置的数字大,则不交换位置,那么在本轮循环之后就得到了最小的数字,并将其放在索引0的位置;同理,第二轮假设索引1的位置数字最小,继续比较;最终得到一个顺序的数组。

image.png