数组
定义:在集合当中指定多个元素,元素的类型:整数,字符串,也可以是浮点
作用:一次性的定义多个元素,可以位变量赋值提供遍历。
数组的定义方法:
数组名= (a b c d)
数组名不能重复
打印数组的两种方法:
echo ${test2[*]}
echo ${test2[@]}
数组的长度指的是数组内包含了几个元素
echo ${#test2[*]}
echo ${#test2[@]}
数组遍历
test4=(1 2 3 4 5) for num in ${test4[*]} do echo $num done
数组的切片
echo ${test2[*]:0:2}
0表示起始位置,2表示步长,起始位置0开始,包括0,移2个。
数组的替换
临时替换:echo ${test2[*]/4/99}
永久替换:test2[3]=99
删除整个数组
unset test2
删除数组当中的元素
unset test5[3]
数组追加,追加元素
test2[5]=6
test2+=(7 8)
冒泡排序:
类似于气泡上涌的工作,会将数组当中的元素按照从小到大,或者从大到小的顺序进行一个重新排列。
test1=(20 10 60 40 50 30)
从小到大排列
思路:就是对比两个相邻的元素,已从小到大为例。满足交换条件的元素,小的往左移,大的往右移。
数组的位置发生变化(下标对应的元素的值发生变化)
双层循环,外部循环控制排序的轮次,内部循环用来对比2个元素的大小决定是否互换位置。
对比和交换的次数要随着排序轮次而减少。
练习
把文件系统中已用的空间从大到小排序。