整体思路:用前一个值和后面的所有值作比较,将较小的值付给前一值,循环完成就能将一组数,从小到大排列。更改比较条件(-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[@]}
版权声明:本文为theshey原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。