使用冒泡排序在 Bash 中对数组进行排序
先决条件:冒泡排序
给定一个数组 arr 使用 bash 脚本按升序对数组进行排序。
例子:
Input : 9 7 2 5
Output :
Array in sorted order :
2 5 7 9
方法 :
对于排序数组冒泡排序是最简单的技术。冒泡排序的工作原理是,如果相邻元素顺序错误,则交换相邻元素。
例子:
Given array - (9, 7, 2, 5)
After first iteration - (7, 2, 5, 9)
After second iteration - (2, 5, 7, 9)
and so on...
这样,通过将较大的元素放在数组的末尾来对数组进行排序。
# Sorting the array in Bash
# using Bubble sort
# Static input of Array
arr=(10 8 20 100 12)
echo "Array in original order"
echo ${arr[*]}
# Performing Bubble sort
for ((i = 0; i<5; i++))
do
for((j = 0; j<5-i-1; j++))
do
if [ ${arr[j]} -gt ${arr[$((j+1))]} ]
then
# swap
temp=${arr[j]}
arr[$j]=${arr[$((j+1))]}
arr[$((j+1))]=$temp
fi
done
done
echo "Array in sorted order :"
echo ${arr[*]}
输出 :
Array in sorted order :
8 10 12 20 100