Пузырьковая сортировка ассоциативных массивов в bash - PullRequest
0 голосов
/ 25 апреля 2018

Мне нужно отсортировать элементы в массиве без использования сокращенной сортировки в bash. Начиная с такого массива, как этот

declare -A friends=(["Bob"]=22 ["Alice"]=19 ["Jane"]=21)

Я должен распечатать элементы в массиве в алфавитном порядке с помощью клавиш (Имена) в качестве параметров сортировки.Ожидаемый результат

Alice 19
Bob 22
Jane 21

1 Ответ

0 голосов
/ 25 апреля 2018

сортировка пузырьков в bash выглядит следующим образом:

arr=(10 8 20 100 12) #Numbers Array

echo "Array in original order"
echo ${arr[*]}

# Performing Bubble sort 
for ((i = 0; i<5; i++))
do

    for((j = i; j<5-i-1; j++))
    do

        if ((${arr[j]} > ${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[*]}
...