什么是数组?
由数字组成的组;组中可以是int类型,也可以是string字符类型
数组中的数据类型可以由用户自定义
即可以为相同类型,页、也可以是不同类型的元素的集合
数组的作用
可以一次性定义多个变量
创建数组的方法
方法一:
数组名=(~ ~ ~ ~ ~) 注意:每个元素之间要用空格隔开
方法二:
数组名=([0]=1 [1]=2 [2]=3 [3]=4 [4]=5) 注:[ ] 中表示下标位置;数组中,默认下标从0开始
方法三(较为麻烦):
数组名[0]=a
数组名[1]=b
数组名[2]=c
打印数组方法
echo ${数组名[*]} 或 echo ${数组名[@]}
查看数组的长度(即查看数组中的元素有几个)
echo ${#数组名[*]}
获取数组下标对应的元素值
echo ${数组名[下标]}
遍历数组
数组的切片
echo ${数组名[*]:起始下标:往后走的位数}
数组替换
替换数组中的元素
echo ${数组名[*]/old/new} ---- 表示将数组中的元素old 变成new ,注意这种方法是临时改变,只会生效一次
实现永久替换 ---- 重新赋值
数组名=(${数组名[*]/old/new})
删除数组以及删除数组中指定的元素
unset 数组名 ------ 删除整个数组
unset 数组名[下标] ------ 通过下标索引位置删除指定元素
追加元素
第一种方式:
数组名[索引下标]=更改后的元素
当指定的索引位置为空,则表示追加元素;如上图例
当指定的索引位置已有元素,则表示替换元素,并且这种方法表示永久替换
第二种方式:
数组名[${#数组名[*]}]=替换后的元素
第三种方法:
数组名+=(元素 元素)
数组的应用
数组和函数之间:
数组作为参数,传参给函数
seq
作用:自动生成数字排序
seq 1 10 ------ 表示生成数字1 ~ 10
seq 1 2 10 ------ 其中 2 表示步长,表示从1开始每次跨指定步长到10 ; 即 1 3 5 7 9
seq也可以进行倒序排列
seq 10 -1 1
seq 10 -2 0
注意:倒序时指定步长要在步长前加上”-“号
冒泡排序
其类似于气泡上涌,在数组中,从小到大或是从大到小来进行排序
作用:
将一个大小混乱排列的数字,按照指定从小到大或是从大到小的方式进行排序
执行后