在shell脚本中使用冒泡排序算法实现数组的排序
首先创建一个arr.txt
在vi编辑器里输入一组数
以下是主体脚本代码
冒泡排序即相邻两个数之间比大小 小的数网上冒大的数往下沉。直到所有的数都比较完毕
#!/bin/bash
i=0
for l in `cat /root/arr.txt`
do
arr[$i]=$l
let i++
done
echo "原数组为:${arr[*]}"
ly() {
new=("$@")
A=${#arr[*]}
for ((i=1; i<$A; i++))
do
for ((j=0; j<$A-i; j++))
do
if [ ${new[$j]} -gt ${new[$[$j+1]]} ]
then
temp=${new[$j]}
new[$j]=${new[$[$j+1]]}
new[$[$j+1]]=$temp
fi
done
done
echo "排序后数组为:${new[*]}"
}
ly ${arr[*]}
执行后效果,打乱的数组被从小到大排序好