Shell脚本---数组

网友投稿 230 2022-11-04

Shell脚本---数组

数组的定义方法

方法—:

数组名=(value0 value1 value2 ...)

方法二:

数组名=([0]=value [1]=value [2]=value ...)

方法三:

列表名="value0 value1 value2..."

数组名=($列表名)

方法四:

数组名[0]=“value”

数组名[1]=“value”

数组名[2]=“value”

数组包括的数据类型

数值类型

字符类型(字符串)∶使用""或'"定义,防止元素当中有空格,元素按空格分割

获取数组长度

获取数据列表

读取某索引赋值

数组遍历

数组切片

数组替换

删除数组

数组追加元素

1.按照索引进行逐个添加

array _name [ index]=value

2.按照最大索引值进行向后添加

array_name[${#array _name[@]}]=value

3.使用原数组的元素进行重新赋值

array_name=( "${ #farray_name[@]}" value1 value2 ... valueN)

注:双引号不能省略,否则数组中存在包含空格的元素时会按空格将元素拆分成多个

不能将“@"替换为“*”,如果替换为“*",不加双引号时与“@”的表现一致,加双引号时会将数组array_name中的所有元素作为一个元素添加到数组中

4.待添加元素必须用“()"包围起来,并且多个元素用空格分隔

array_name+=(value1 value2 ... valueN)

向函数传递数组参数

数组排序算法

冒泡算法

类似气泡上涌的动作,会将数据在数组中从小到大或者从大到小不断的向前移动。

基本思想:

冒泡排序的基本思想是对比相邻的两个元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移动到数组后面(也就是交换两个元素的位置),这样较小的元素就像气泡一样从底部上升到顶部。

算法思路:

冒泡算法由双层循环实现,其中外部循环用于控制排序轮数,一般为要排序的数组长度减1次,因为最后一次循环只剩下一个数组元素,不需要对比,同时数组已经完成排序了。而内部循环主要用于对比数组中每个相邻元素的大小,以确定是否交换位置,对比和交换次数随排序轮数而减少。

直接排序法

反转排序

以相反的顺序把原有数组的内容重新排序

基本思想:

把数组最后一个元素与第一个元素替换。倒数第二个元素与第二个元素替换,以此类推,直到把所有的数组元素反转替换完

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java关于重排链表详细解析
下一篇:Netty如何实现消息推送
相关文章

 发表评论

暂时没有评论,来抢沙发吧~