📜  使用冒泡排序在 Bash 中对数组进行排序

📅  最后修改于: 2022-05-13 01:57:26.457000             🧑  作者: Mango

使用冒泡排序在 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