bash编程实现冒泡排序

冒泡排序是比较相邻两位数大小,将大(或者小)的数字放在后面,再不断重复上述步骤获得数字排序的方法,网上有很多不同语言的实现方法,用bash的比较少,下面是我参考百度百科C语言版用bash脚本写的程序。

#! /bin/bash
#冒泡排序
declare -i n
declare -i i
read -p "enter num: " -a num
n=${#num[@]}
while [ $n -gt 1 ]
do
    i=1
    while [ $i -lt $n ]
    do
        if [ ${num[$i-1]} -gt ${num[$i]} ]
        then
            tm=${num[$i]}
            num[$i]=${num[$i-1]}
            num[$i-1]=$tm
        fi
        i=$i+1
    done
    echo "           ${num[@]}"
    n=$n-1
done

在ubuntu15.04下的测试结果
5 4 3 2 1
4 3 2 1 5
3 2 1 4 5
2 1 3 4 5
1 2 3 4 5

你可能感兴趣的:(bash编程)