shell陣列排序和插入數字並排序

2021-10-10 05:30:09 字數 1983 閱讀 1682

shell陣列插入數字並排序

vim shengxu.sh

#!/bin/bash

for ((i=1;i<=5;i++));do

read -p "請輸入第$i個數字:" num

abc[$i-1]=$num

done

for ((a=0;a<$;a++));do

for ((k=$a+1;k<$;k++));do

if [ $ -gt $ ];then

aaa=$

abc[$a]=$

abc[$k]=$aaa

fidone

done

echo $

[root@localhost opt]# chmod +x shengxu.sh 

[root@localhost opt]# ./shengxu.sh

請輸入第1個數字:11

請輸入第2個數字:44

請輸入第3個數字:22

請輸入第4個數字:33

請輸入第5個數字:22

11 22 22 33 44

vim jiangxu.sh

#!/bin/bash

for ((i=1;i<=5;i++));do

read -p "請輸入第$i個數字:" num

abc[$i-1]=$num

done

for ((a=0;a<$;a++));do

for ((k=$a+1;k<$;k++));do

if [ $ -lt $ ];then

aaa=$

abc[$a]=$

abc[$k]=$aaa

fidone

done

echo $

[root@localhost opt]# chmod +x jiangxu.sh

[root@localhost opt]# ./jiangxu.sh

請輸入第1個數字:11

請輸入第2個數字:22

請輸入第3個數字:33

請輸入第4個數字:44

請輸入第5個數字:55

55 44 33 22 11

vim paixu.sh

#!/bin/bash

for ((i=1;i<=5;i++));do

read -p "請輸入第$i個數字:" num

abc[$i-1]=$num

done

for ((a=0;a<$;a++));do

for ((k=$a+1;k<$;k++));do

if [ $ -lt $ ];then

aaa=$

abc[$a]=$

abc[$k]=$aaa

fidone

done

echo $

read -p "請輸入插入的數字:" num1

abc[5]=$num1

echo $

c=$-1

for ((b=0;b<$;b++));do

if [ $ -lt $ ];then

aaa=$

abc[$b]=$

abc[5]=$aaa

fidone

echo $

[root@localhost opt]# chmod +x paixu.sh

[root@localhost opt]# ./paixu.sh

請輸入第1個數字:22

請輸入第2個數字:33

請輸入第3個數字:11

請輸入第4個數字:44

請輸入第5個數字:22

44 33 22 22 11

請輸入插入的數字:21

44 33 22 22 11 21

44 33 22 22 21 11

插入排序和希爾 Shell 排序

插入排序 陣列前k 1個元素已經有序,如何確定第k個元素的插入位置,使得這k個元素有序。方法1 從左到右掃瞄掃瞄這個有序子陣列,直到遇到第乙個大於等於a k 的元素,然後把a k 插在這個元素的前面。方法2 從右到左掃瞄這個有序子陣列,直到遇到第乙個小於等於a k 的元素,然後把a k 插在這個元素...

插入排序和希爾 Shell 排序

插入排序 陣列前k 1個元素已經有序,如何確定第k個元素的插入位置,使得這k個元素有序。方法1 從左到右掃瞄掃瞄這個有序子陣列,直到遇到第乙個大於等於a k 的元素,然後把a k 插在這個元素的前面。方法2 從右到左掃瞄這個有序子陣列,直到遇到第乙個小於等於a k 的元素,然後把a k 插在這個元素...

插入排序(直接插入和Shell排序)

1 直接插入排序 1 定義 直接插入排序 straight insertion sort 是一種最簡單的排序方法。它的基本操作是將乙個記錄插入到乙個長度為m 假設 的有序表中,使之仍保持有序,從而得到乙個新的長度為m 1 的有序表。2 演算法思路 設有一組關鍵字 k 1 k 2 k n 排序開始就認...