首页 > 解决方案 > bash中的冒泡排序关联数组

问题描述

我需要在不使用 bash 中的速记排序的情况下对数组中的项目进行排序 从这样的数组开始

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

我必须使用键(名称)作为排序参数按字母顺序打印数组中的项目。预期产出

Alice 19
Bob 22
Jane 21

标签: arraysbashbubble-sort

解决方案


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

推荐阅读