日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【拔刀吧少年】之shell数组

發布時間:2024/9/3 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【拔刀吧少年】之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数组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。