目录
前言
数组是一个固定长度的存储相同数据类型的数据结构,数组中的元素被存储在一段连续的内存空间中。它是最简单的数据结构之一,大多数现代编程语言都内置数组支持。
一、定义数组
数组的作用:一次性定义多个变量
1.定义数组
- 数组名=(value0 valuel value2 …)
- 数组名=( [0]=value [1]=value [2]=value …)
- 列表名=“value0 valuel value2 …”
-
[root@test1 opt]# ky29=(1 2 3 4 5 6) [root@test1 opt]# echo ${ky29[*]} 1 2 3 4 5 6
-
[root@test1 opt]# arr=([0]=1 [1]=2 [2]=3) [root@test1 opt]# echo ${ky29[*]} 1 2 3 4 5 6
-
[root@test1 opt]# root="2 3 5 8 9" [root@test1 opt]# echo ${root[@]} 2 3 5 8 9
2.获取数组长度
$#定义数组变量,也就是数组的长度
3.数组包括的数据类型
数值类型
字符类型
使用" "或‘ ’定义
4. 读取某下标赋值
[root@loaclhost shuzu1]#arr1=(1 2 3 4 5)
[root@loaclhost shuzu1]#echo ${arr1[0]} #获取索引为0的元素,即第一个元素
1
[root@loaclhost shuzu1]#echo ${arr1[3]} #获取索引为3的元素,即第四个元素
4
5.数组遍历
6.数组切片
取数组中的某一段的元素的值,书写格式:
${数组名[@或*]}:起始位置(起始索引):长度
7.数组替换
格式:
$(数组名[@或*]/查找字符/替换字符}
数组临时替换
数组永久替换
8.删除数组
使用unset删除数组
nuset [数组名]
删除数组中的某个索引对应的元素的值
unset
9.追加数组中的元素
当想要在数组中原有的元素后面再追加一些元素的话,可以使用如下方法实现追加:
指定索引下标添加值
[数组名][索引号]=[值]
[数组名][${#[数组名][*]}]=值
[数组名]+=(值) #添加多个值用空格隔开
10.向函数传数组参数
如果将数组变量作为函数参数,函数只会取数组变量的第一个值。
实验
通过df -h,把磁盘使用率写一个冒牌排序
代码
实现
二、冒泡排序
类似气泡上涌的动作,会将数据在数组中从小到大或者从大到小不断的向前移动。
基本思想:
冒泡排序的基本思想是对比相邻的两个元素值,
如果满足条件就交换元素值,把较小的元素移动到数组前面,
把大的元素移动到数组后面(也就是交换两个元素的位置) ,
这样较小的元素就像气泡一样从底部上升到顶部
算法思路:
冒泡算法由双层循环实现,其中外部循环用于控制排序轮数,
一般为要排序的数组长度减1次,因为最后一次循环只剩下一个数组元素,不需要对比,
同时数组已经完成排序了。而内部循环主要用于对比数组中每个相邻元素的大小,
以确定是否交换位置,对比和交换次数随排序轮数而减少。
实验
通过df -h,把磁盘使用率写一个从大到小的排序