数组
来源:互联网 发布:洗衣软件 编辑:程序博客网 时间:2024/06/04 00:44
一、数组概念
所谓数组,是无序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的集合称为数组。<摘自百度>
二、数组使用方法
1、赋值
(1)一次只赋值一个元素
ARRAY_NAME[INDEX]=VALUE
(2)一次赋值全部元素
ARRAY_NAME=("VAL1" "VAL2" "VAL3"...)
(3)只赋值特定元素
ARRAY_NAEM=([0]="VAL1" [3]="VAL2"...)
(4)交互式数组值对赋值
read -a ARRAY
2、引用变量的方法
(1)引用数组元素
${ARRAY_NAME[INDEX]}
注意:省略[INDEX]表示引用下标为0的元素。
(2)引用数组中所有元素
${ARRAY_NAME[*]}${ARRAY_NAME[@]}
(3)数组中元素的个数
${#ARRAY_NAME[*]}${#ARRAY_NAME[@]}
(4)删除数组中的某元素
unset ARRAY[INDEX]
(5)删除整个数组
unset ARRAY
3、数组数据处理
(1)引用数组中的元素
数组切片:${ARRAY[@]:offset:number} offset:要跳过的元素个数 number:要取出的元素个数取出偏移量之后的所有元素 ${ARRAY[*]:offset}
(2)向数组中追加元素
ARRAY[${#ARRAY[*]}]=VALUE
注意:数组中元素个数与数组引用下标少1。
4、关联数组
declare -A ARRAY_NAME #定义为关联数组ARRAY_NAEM=([idx_name]=val [idx_name]=val2)declare -a 查看所有定义数组
注意:关联数组必须事先要声明。
示例:
[root@localhost~]#test[0]=hello #一次赋一个值[root@localhost~]#test=([2]=hi [3]=boy) #只赋特定的值[root@localhost~]#test1=(haha xixi heihei ) #一次赋值全部元素[root@localhost~]#read -a test2#交互式赋值 [root@localhost~]#declare -a #查看所有的数组declare -a BASH_ARGC='()'declare -a BASH_ARGV='()'declare -a BASH_LINENO='()'declare -a BASH_SOURCE='()'declare -ar BASH_VERSINFO='([0]="4" [1]="1" [2]="2" [3]="2" [4]="release" [5]="x86_64-redhat-linux-gnu")'declare -a DIRSTACK='()'declare -a FUNCNAME='()'declare -a GROUPS='()'declare -a PIPESTATUS='([0]="0")'declare -a test='([2]="hi" [3]="boy")'declare -a test1='([0]="haha" [1]="xixi" [2]="heihei")'declare -a test2='([0]="I")' [root@localhost~]#echo ${test[*]} #显示数组所有元素hello hi boy[root@localhost~]#echo ${#test[*]} #显示元素个数3[root@localhost~]#unset test[2] #删除数组中某个元素[root@localhost~]#echo ${test[*]} hello boy[root@localhost~]#unset test #删除某个数组所有元素[root@localhost~]#echo ${test1[*]:1:1} #数组切片[root@localhost~]#test1[${test1[*]}]=joah #向数组中追加元素
示例:生成10个随机数保存于数组中,并找出其最大值和最小值。
#!/bin/bash#declare -a randi=0declare -i max=0declare -i minwhile [ $i -lt 10 ];do rand[$i]=$RANDOM [ $i -eq 0 ] && min=rand[$i] [ ${rand[$i]} -gt $max ] && max=`echo ${rand[$i]}` [ ${rand[$i]} -lt $min ] && min=`echo ${rand[$i]}` let i++doneecho Max is $maxecho Min is $min
阅读全文
0 0
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 水浒传
- F.MVision(Fast Machine Vision) · 前言
- html 中可以自定义输入的 select 下拉列表
- 激活Ubuntu里面的pycharm
- 1394 windbg双机调试XP/WIN7
- 数组
- 数据库设计原则
- python(一)
- post和get的区别?
- 数学建模--图与网络(1)
- linux tar 打包和 gzip压缩
- ionicframework开发框架之弹窗$ionicPopup
- 由星座判断引发我对vue.js的思考问题的模式的基本启示
- MySQL之修改数据表操作