shell脚本详解(六)——数组简介和排序算法
生活随笔
收集整理的這篇文章主要介紹了
shell脚本详解(六)——数组简介和排序算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
shell腳本詳解(六)——數組簡介和排序算法
- 一、數組
- 1、數組的定義方法
- ①、方式一:
- ②、方式二:
- ③、方式三:
- ④、方式四:
- 2、數組包括的數據類型
- 3、獲取數組長度
- 4、獲取數據列表
- 5、讀取某索引賦值
- 6、數組遍歷
- 7、數組切片
- 8、數組替換
- 9、數組刪除
- 10、數組追加元素
- 11、向函數傳遞數組參數
- 二、數組排序算法
- 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脚本详解(七)——正则表达式、