バブルソートを作成して、コマンドライン引数をbash(ints)で受け取り、昇順に出力する必要があります。私はアルゴリズムを正しく実装したと信じていますが、引数のようなコマンドの配列を取得するのに問題があります。これまでの私のコード:私はプログラムを実行するときbashのコマンドライン引数のバブルソート
a =($[@])
flag=1
for ((i=0; i<$n-1 && $flag==1; i++))
do
flag=0
for ((j=0; j<$n-i-1; j++))
do
if [ ${a[$j]} -gt ${a[$j+1]} ]
then
temp=${a[$j]}
a[$j]=${a[$j+1]}
a[$j+1]=$temp
flag=1
fi
done
done
for ((l=0; l -lt ${a[@]}; l++))
do
echo -ne "${a[$l]} "
done
これはGETエラーです:
bubble-sort.sh: line 6: syntax error near unexpected token `('
bubble-sort.sh: line 6: `a =("[email protected]") '
問題は何ですか?
使用 '=( "$ @を")' '='周りのスペースなしのノー '[]になりますのちょうど
if ((${a[$j]} > ${a[$j+1]))
作業バージョンを行う代わりに
if [ ${a[$j]} -gt ${a[$j+1]}
の@ –