目录
数组格式
普通数组下标是数字
关联数组下标是字符串
例子:
a=(10 20 30 40 50)
a[0] 10
数组的分类(普通数组和关联数组)
普通数组
可以不需要手动声明,直接使用
declare -a 数组名
关联数组
一定要手动声明
adeclare -A 数组名
定义数组
1.数组名=(数值1 数值2 数值3 ...数值n)数值之前用空格隔开
2.单个赋值:
数组名[0]=值1
数组名[1]=值2
数组名[2]=值3
变量和数组
变量:只存储一个值,(一对一)
数组:相当于多个变量的数据集合(一对多)
调用数组
举例a是数组名
单个调用
echo ${a[0]}#调用第一个值
echo ${a[1]}#调用第二个值
……………………………………
echo ${a[n]}#调用第n个值
全部调用
echo ${a[@]}
echo ${a[*]}
显示数组的值的个数
echo ${#a[@]}
显示所有下标
echo ${!a[@]}
删除数组
unset 数组名 # 将整个数组删除
unset a[0] #只删除数组的第一个值
数组之冒泡排序
原理:
数组中相邻两个数进行比较,不满足条件就交换。
以对0-9这10个数来进举例。
eg:对9 8 7 6 5 4 3 2 1 0进行升序。
思路:
首先让9与8进行比较,9比8大,故9与8交换位置,在让9与7将进行比较,以此类推,比较玩的数组变为8 7 6 5 4 3 2 1 0 9,,这称为一趟冒泡排序。同理,让8在与后面的数进行比较,最终完成升序,10个元素进行冒泡排序,共需9趟排序,思路确定后,接下来我们来编写代码。