我正在尝试执行冒泡排序是Unix shell脚本。为什么我的代码不起作用?
a=(10 8 20 25 12)
for ((i=0;i<5;i++))
do
for((j=0;j<5;j++))
do
if ((${a[j]} > ${a[$((j+1))]}))
then
v=${a[$j]}
a[$j]=${a[$((j+1))]}
a[$((j+1))]=$v
fi
done
done
echo ${a[*]}
echo "end..."
答案 0 :(得分:3)
我想这是作业。因此,我不会给出代码,只需指出代码中的错误:
for((j=0;j<5;j++))
然后阅读a[j+1]
,这会有问题,因为当j=4
,j+1
不存在时
修复此问题,您的程序将排序。