用shell语句实现冒泡排序(附注释):
#输入提示
echo "input several number:"
#-a将输入的值读取到数组array里
read -a array
#将数组的长度单独拿出来可以提高效率,使用let使变量-1,${#array[*]}获取数组的长度
let length=${#array[*]}-1
#冒泡排序的双层循环,$length获取length的值
for((i=0;i<$length;i++)){
for((j=0;j<$length-i;j++)){
#这里的[和变量之间的空格不能少,否则会报错
if [ ${array[j]} -gt ${array[j+1]} ];then
#交换数据
temp=${array[j]}
array[j]=${array[j+1]}
array[j+1]=$temp
#fi表示if的结束
fi
}
}
#输出排序后的数组,${array[*]}输出数组中的所有元素
echo "after sort:${array[*]}"
输出结果:
input several number:
1 3 7 6 2 5 4
after sort:1 2 3 4 5 6 7