#!/bin/bash
temp=''
num=(41 52 2 10 7 999 12 90 3 23 100 1000 212)
for((i=0;i<${#num[@]}-1;i++))
do
isSorted=1; #假设剩下的元素已经排序好了
for((j=0;j<(${#num[@]}-1-$i);j++))
do
if (( ${num[$j]} > ${num[$j+1]} ));then
temp=${num[$j]};
num[$j]=${num[$j+1]};
num[$j+1]=$temp;
isSorted=0;#一旦需要交换数组元素,就说明剩下的元素没有排序好
fi
done
if [[ $isSorted -eq 1 ]];then #如果没有发生交换,说明剩下的元素已经排序好了
break;
fi
done
for i in ${num[@]}
do
printf "%d " $i
done
printf "\n"
shell冒泡排序
最新推荐文章于 2023-05-10 19:10:15 发布