目录
一、数组:
是由多个元素组成的一个集合。
int、string、浮点.......组成的集合
数组的主要作用:一次性的定义多个变量。不需要依次声明。
1、数组的创建方式:
- 数组名=(value0 value1 value2) ——(value 元素)
打印方式:echo ${test[*]}
数组的下标索引,对应的是元素在数组中的位置。
0 1 2 3 4 依次
2、获取数组的长度:
3、如何遍历数组:
4、数组的切片:
5、数组中的元素进行替换:
临时替换:
echo ${test[*]/6/66} 将6元素变成666,不是6位置的元素
替换是临时的
永久替换:
arr2=(${test[*]/9/999})
6、删除数组:
全部删除:unset 数组名
指定删除某个元素:
unset 数组名 [数组位置]
7、在数组中进行元素追加:
尾部追加:
二、数组和函数
函数可以从数组中获取参数
seq 赋值:
$(seq 0 10) 输出0-10:0 1 2 3 4 5 6 7 8 9 10
$(seq 0 2 10) 输出步长为2的0-10:0 2 4 6 8 10
1、冒泡排序:
类似气泡上涌的动作,在数组中的元素从小到大,从大到小,不断的移动。
正向:1 2 3 4 5 6 7 8 9 10
方向:10 9 8 7 6 5 4 3 2 1
1、冒泡排序的思路:
在数组当中两个相邻的元素进行比较
正向为例:a=(10 3 6 2 20)
相邻的元素相比:
10 3 相比
3 10 6 2 20
10 6相比
3 6 10 2 20
10 2相比
3 6 2 10 20
6 2再比
3 2 6 10 20
3 2比
2 3 6 10 20
索引下标: 0 1 2 3 4 5
位置变化,索引下标也跟着变化
要用到for循环:双层循环
外循环控制循环次数
内循环来比较相邻数值,完成位置交换
2、例子:
数组泡泡排序:
df -h里面磁盘已用量排序
逆向泡泡:
正向泡泡排序详解:
df -h | awk 'NR>1 {print $5}' | tr -d '%'
查看磁盘信息 | 除去第一行 切片出第五列 | 过滤掉%
三、本章核心:
for循环遍历数组取值,进行操作
函数调用外部数组值,在函数内部进行使用
冒泡排序
数组的增删改查