bash - BubbleSort Bash 没有排序
问题描述
我在 bash 脚本中的冒泡排序代码既不交换也不排序。帮我解决我做错了什么。
echo "Enter numbers between 4 and 12"
read n
#declare -a numArray #declare array of numbers
if [ $n -le 12 -a $n -ge 4 ]
then
#take input from user
echo "Enter numbers of array"
for (( i = 0; i < $n; i++ ))
do
read numArray[$i]
done
#sorting logic
for (( i = 0; i < $n; i++ ))
do
for (( j = 0; j < $n-1; j++ ))
do
# swapping logic
#read numArray[$j]
if [[ ${numArray[j]} -gt ${numArray[$((j+1))]} ]]
then
#echo "in swapping code"
temp=${numArray[j]}
echo $temp
numArray[$j]=${numArray[$((j+1))]}
numArray[$((j+1))]=$temp
fi
done
done
# print sorted data
echo -e "\nSorted Numbers "
echo "${numArray[*]}"
else
echo "Please enter only values between 4 and 12"
fi
结果:
Enter numbers between 4 and 12
5
Enter numbers of array
51428
51428
51428
51428
51428
Sorted Numbers
51428
解决方案
推荐阅读
- html - 需要将丢失的 URL 重定向到新主机
- c# - 为什么 Code Map 不适用于 Unity 项目?
- javascript - 函数给我类型错误:无法读取未定义的属性“调整大小”
- python - 为什么我在这段代码中看到“KeyError: 'rating_count_total'”
- java - org.apache.kafka.common.errors.TimeoutException:使用 jaas SASL 配置身份验证获取 Kafka 集群的主题元数据时超时
- python - Python用列表中的单个字符串查找和替换多个字符串
- go - 多次分离和重用项目
- windows - 使用标准用户帐户在提升的脚本中获取登录用户名
- python - 正则表达式:匹配一种模式并排除另一种模式
- python - 在 Python 中使用 Selenium 将密钥发送到文本框不起作用