bash編程實現插入排序

插入排序是先把左邊的數當成已排序列,然後逐個按大小插入數字至全部排列好的排序方法,下面是我參考百度百科C語言版改寫的bash腳本。

#! /bin/bash
#插入排序
declare -i i
declare -i j
read -p "enter num: " -a num
i=1
while [ $i -lt ${#num[@]} ]
do
    tm=${num[$i]}
    j=$i-1
    while [ $j -ge 0 ] && [ ${num[$j]} -gt $tm ]
    do
        num[$j+1]=${num[$j]}
        j=$j-1
    done
    [ j != $i-1 ] && num[$j+1]=$tm
    echo "           ${num[@]}"
    i=$i+1
done

ubuntu15.04終端測試結果

5 4 3 2 1
4 5 3 2 1
3 4 5 2 1
2 3 4 5 1
1 2 3 4 5

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章