码迷,mamicode.com
首页 > 编程语言 > 详细

数组小结

时间:2017-09-17 18:53:39      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:数组

 数组

 

 

一.     引言

为什么需要数组呢?有时候需要存储或处理一系列数据,数组就可以充当这样的角色,它在内存中是相连的数据,并且在栈中的引用只有一个,如果不用数组,那数据就得一个一个定义一个一个声明,浪费内存空间,显然不合理.

二.       定义

变量:存储单个元素的内存空间

数组:存储多个元素的连续的内存空间,相当于多个变量的集合

数组名的索引

1.     索引:编号从0开始,属于数值索引

2.     注意:索引可支持使用自定义的格式,而不仅仅是数值格式,即为关联索引,bash4.0版本之后开始支持

3.     Bash的数组支持稀疏格式(稀疏格式即为索引不连续

声明数组

1.     declare  –a  数组名

2.     declare–A  数组名

3.     两者不可相互转换

三.       数组赋值

数组赋值有4

1.     一次只赋值一个元素

技术分享

2.     一次赋值全部元素

技术分享

3.     只赋值特定元素

技术分享

 

4.     交互式数组只对赋值

技术分享

 

四.       引用数组

1.     输出数组:echo ${array_name[index]}

注意:省略【index】表示引用下标(赋的编号)为0的元素

以上述为例:echo ${array[0]}

        echo ${array[1]}

2.     引用数组所有元素

${ARRAY_NAME[*]}

${ARRAY_NAME[@]}

以上述为例:echo ${array[*]}

        echo ${array[@]}

3.     数组长度

技术分享

 

4.     删除数组中的某些元素

技术分享

5.     删除整个数组

Unset 数组名

 

五.       数组数据处理

1.引用数组中的元素:

数组切片:${ARRAY[@]:offset:number}

offset: 要跳过的元素个数

number: 要取出的元素个数

2.取偏移量之后的所有元素

${ARRAY[@]:offset}

3.向数组中追加元素:

ARRAY[${#ARRAY[*]}]=value

技术分享

4.关联数组:

declare -A ARRAY_NAME

ARRAY_NAME=([idx_name1]=‘val1‘[idx_name2]=‘val2‘...)

注意:关联数组必须先声明再调用

六.       实例

生成5个随机数,保存于数组中,并找出最大值和最小值

第一种方法

    代码如下:

    技术分享

 

输出结果

技术分享

第二种方法

技术分享

 

输出结果

技术分享

2.编写脚本,定义一个数组,数组中的元素是/var/log 目录下所有以.log 结尾的文件;统计出其下标为偶数的文件中的行数之和

       

       

  技术分享

  技术分享


 

 

 

 

 

 

 

 

 


本文出自 “12457645” 博客,请务必保留此出处http://12467645.blog.51cto.com/12457645/1966023

数组小结

标签:数组

原文地址:http://12467645.blog.51cto.com/12457645/1966023

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!