Сортировка массива в Bash с помощью пузырьковой сортировки

Опубликовано: 16 Февраля, 2022

Предпосылка: пузырьковая сортировка
Учитывая массив arr, отсортируйте массив в порядке возрастания с помощью сценариев bash.

Примеры:

Ввод: 9 7 2 5
Выход :
Массив в отсортированном порядке:
2 5 7 9

Рекомендуется: сначала попробуйте свой подход в {IDE}, прежде чем переходить к решению.

Подход :
Пузырьковая сортировка массива - самый простой способ сортировки. Пузырьковая сортировка работает, меняя местами соседние элементы, если они расположены в неправильном порядке.
Пример:

Данный массив - (9, 7, 2, 5)
После первой итерации - (7, 2, 5, 9)
После второй итерации - (2, 5, 7, 9)
и так далее...

In this way, the array is sorted by placing the greater element at the end of the array .

# 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[*]}

Выход :

Массив в отсортированном порядке:
8 10 12 20 100