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 排序開始就認...