赞
踩
数组在shell脚本中可以定义一组数字来调用,是一种在shell脚本常见的数据结构
在一组数组里面 每个对应的数字都有对应的索引号,索引序号从0开始 如图所示
使用declace 声明一个数组
定义数组 数组不一定是由数字组成 具体方法有四种
第一种较简单 数组名=数组的内容 不加上索引号
第二种和第一种相同 但是要加上索引号
第三种 先列出列表名 数组名
第四种 将数组名一一列出
第三种最为常用的
用来获取数组里面的值和数组长度
常用的方法有@和*
可知该数组的长度为6
获取值可以结合数组的索引来获取
获取数组间数值的长度值 *和@均可以 称为切片
数组中的数值可以被替换 要改变原有数组,可重新赋值
数组中删除分为删除整个数组和单个元素
删除单个元素时元素用索引来表示单个元素 但是注意 删除的元素对应的索引不会删除。
删除整个数组
在数组中追加元素 方法有四种 这里只演示一种
数组遍历就是通过脚本来循环一个数组
shell代码
在将数组变量作为函数参数,函数只会取数组变量的第一个值。 代码如下
如上面显示 只会取数组的第一个值
要解决这个问题 就需要将数组变量的值分解成单个值,然后将这些值作为函数参数使用。在函数内部,再将所有的参数重新组合成一个新的数组变量。
代码如下
结果如下
一般常用的排序算法为两种 冒泡排序和直接排序 反转排序
冒泡排序 故名思意 类似气泡上涌的动作,会将数据在数组中从小到大或者从大到小不断的向前移动
基本思路就是满足条件的元素位置互换。
直接排序在逻辑上比较好说,与冒泡排序相比,直接排序的交换次数更少,速度会快些 将指定的数字按条件的对比,满足条件就换位子,区别冒泡 不是相邻的换,不断排序时排序好的区域会不断增加,最后数组都会排好。
反转排序是以相反的顺序把原有的数组的内容重新排序,把数组的第一个元素和最后一个元素替换 一直循环把所有的数组元素反转替换。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。