1. 程式人生 > >shell指令碼 冒泡法對數字排序

shell指令碼 冒泡法對數字排序

整體思路:用前一個值和後面的所有值作比較,將較小的值付給前一值,迴圈完成就能將一組數,從小到大排列。更改比較條件(-gt),就可以將陣列從大到小排列。

#!/bin/sh

#sorting following array

echo "please input a number list:"

read -a arr

for (( i=0 ; i<${#arr[@]} ; i++ ))

do

  for (( j=${#arr[@]} - 1 ; j>i ; j-- ))

  do

    #echo $j

    if  [[ ${arr[j]} -lt ${arr[j-1]} ]]

    then

       t=${arr[j]}

       arr[j]=${arr[j-1]}

       arr[j-1]=$t

    fi

  done

done

echo "after sorting:"

echo ${arr[@]}