【拔刀吧少年】之shell数组
數組
- 一、數組
- 1、數組的定義方法
- 2、數組包括的數據類型
- 3、獲取數組長度
- 4、獲取數據列表
- 5、讀取某索引賦值
- 6、數組遍歷
- 7、數組切片
- 8、數組替換
- 9、數組刪除
- 10、數組追加元素
- 二、數組排序算法
- 1、冒泡算法
- 2、直接排序法
- 3、反轉排序
一、數組
1、數組的定義方法
①、方式一:
②、方式二:
③、方式三:
④、方式四:
2、數組包括的數據類型
數值類型
字符類型(字符串):使用" "或’ '定義,防止元素當中有空格,元素按空格分割。
3、獲取數組長度
4、獲取數據列表
5、讀取某索引賦值
6、數組遍歷
7、數組切片
8、數組替換
9、數組刪除
10、數組追加元素
方法一:按照索引進行逐個添加
array_name[index]=value
方法二:按照最大索引值進行向后添加
array_name[${#array_name[@]}]=value
方法三:使用原數組的元素進行重新賦值
array_name=("${array_name[@]}" value1 value2 … valueN)
注:
雙引號不能省略,否則數組中存在包含空格的元素時會按空格將元素拆分成多個
不能將“@”替換為“”,如果替換為“”,不加雙引號時與“@”的表現一致,加雙引號時,會將數組array_name中的所有元素作為一個元素添加到數組中
方法四:
array_name+=(value1 value2 … valueN)
注:待添加元素必須用“()”包圍起來,并且多個元素用空格分隔
11、向函數傳遞數組參數
二、數組排序算法
1、冒泡算法
類似氣泡上涌的動作,會將數據在數組中從小到大或者從大到小不斷的向前移動。
基本思想:
冒泡排序的基本思想是對比相鄰的兩個元素值,如果滿足條件就交換元素值,把較小的元素移動到數組前面,把大的元素移動到數組后面(也就是交換兩個元素的位置),這樣較小的元素就像氣泡一樣從底部上升到頂部。
算法思路:
冒泡算法由雙層循環實現,其中外部循環用于控制排序輪數,一般為要排序的數組長度減1次,因為最后一次循環只剩下一個數組元素,不需要對比,同時數組已經完成排序了。而內部循環主要用于對比數組中每個相鄰元素的大小,以確定是否交換位置,對比和交換次數隨排序輪數而減少。
2、直接排序法
3、反轉排序
以相反的順序把原有數組的內容重新排序
基本思想:
把數組最后一個元素與第一個元素替換。倒數第二個元素與第二個元素替換,以此類推,直到把所有的數組元素反轉替換完。
總結
以上是生活随笔為你收集整理的【拔刀吧少年】之shell数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【拔刀吧少年】之shell函数
- 下一篇: 【拔刀吧少年】之正则表达式