1. 程式人生 > >數組小結

數組小結

數組

數組

一. 引言

為什麽需要數組呢?有時候需要存儲或處理一系列數據,數組就可以充當這樣的角色,它在內存中是相連的數據,並且在棧中的引用只有一個,如果不用數組,那數據就得一個一個定義一個一個聲明,浪費內存空間,顯然不合理.

二. 定義

變量:存儲單個元素的內存空間

數組:存儲多個元素的連續的內存空間,相當於多個變量的集合

數組名的索引

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

數組小結