data=(32 2 43 12 45 3 123)
# 使用 for 循环排序
for i in ${!data[@]}; do
for j in `seq $i 1 $(( $#data - 1 ))`; do
if [ ${data[$i]} -gt ${data[$j]} ]; then
temp=${data[$i]}
data[$i]=${data[$j]}
data[$j]=$temp
fi
done
done
echo "使用 for 循环排序后的结果:${data[@]}"
# 使用 while 循环排序
index=0
while [ $index -lt $#data - 1 ]; do
if [ ${data[$index]} -gt ${data[$(( $index + 1 ))]} ]; then
temp=${data[$index]}
data[$index]=${data[$(( $index + 1 ))]}
data[$(( $index + 1 ))]=$temp
fi
((index++))
done
echo "使用 while 循环排序后的结果:${data[@]}"