詳細なシェルスクリプト(6)-配列とソートアルゴリズムの概要

1つは、配列です

1.配列の定義方法

ここに画像の説明を挿入します

①。方法1:

ここに画像の説明を挿入します

②。方法2:

ここに画像の説明を挿入します

③。方法3:

ここに画像の説明を挿入します

④方法4:

ここに画像の説明を挿入します

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.バブリングアルゴリズム

ここに画像の説明を挿入します

  • バブルの急増と同様に、データは配列内で小さいものから大きいものへ、または大きいものから小さいものへと前進し続けます。

  • 基本的な考え方:

    • バブルソートの基本的な考え方は、隣接する2つの要素の値を比較することです。条件が満たされると、要素の値が交換され、小さい方の要素が配列の先頭に移動され、大きい方の要素が配列の先頭に移動されます。は配列の後ろに移動し(つまり、2つの要素の交換Position)、小さい方の要素が泡のように下から上に上昇します。
  • アルゴリズムのアイデア:

    • バブリングアルゴリズムはダブルループによって実装されます。この場合、最後のループには配列要素が1つしか残っていないため、外側のループを使用して並べ替えの回数、通常は並べ替える配列の長さから1回を引いた数を制御します。比較は不要で、配列はソートされています。内側のループは主に、配列内の隣接する各要素のサイズを比較して、位置を交換するかどうかを決定するために使用されます。比較と交換の数は、ソートラウンドの数とともに減少します。

ここに画像の説明を挿入します

ここに画像の説明を挿入します

2.直接ソート方式

ここに画像の説明を挿入します

ここに画像の説明を挿入します

3.並べ替えを逆にします

  • 元の配列の内容を逆の順序で並べ替えます

  • 基本的な考え方:

    • 配列の最後の要素を最初の要素に置き換えます。最後から2番目の要素は2番目の要素に置き換えられ、以下同様に、すべての配列要素が逆になって置き換えられます。

ここに画像の説明を挿入します

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/Lucien010230/article/details/114676045