1

バブル ソートを実行しようとしているのは Unix シェル スクリプトです。コードが機能しないのはなぜですか?

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..."
4

2 に答える 2

3

これは宿題だと思います。したがって、コードは提供しません。コードのエラーを指摘するだけです。

for((j=0;j<5;j++))が存在しない場合、a[j+1]ここで問題が発生します。j=4j+1

それを修正すると、プログラムがソートされます。

于 2013-02-08T21:36:05.660 に答える