Shell冒泡排序

  • Post author:
  • Post category:其他




一, 冒泡排序的定义

类似气泡上涌的动作,会将数据在数组中从小到大或者从大到小不断地向前移动。



二,算法思路:

由双层循环实现,其中外部循环用于控制排序轮数,一般为要排序的数组长度减1次,因为最后一次循环只剩下一个数组元素,不需要对比的,同时数组已经完成排序了,而内部循环主要用于对比数组中每个相邻元素的大小,以确定是否交换位置,对比和交换次数随排序轮数而减少。

在这里插入图片描述



三,shell实验

1,将数字1,10,66,20,11,88,6,19排序

[root@localhost ~]# vim maopao.sh
#!/bin/bash
# 冒泡排序
score=(1 10 66 20 11 88 6 19)
for (( i=1;i<${#score[*]};i++))
do
   for (( j=0;j<${#score[*]}-$i;j++))
   do
       if [ ${score[j]} -gt ${score[$(($j+1))]} ]
       then temp=${score[j]}
            score[j]=${score[$(($j+1))]}
            score[(($j+1))]=$temp
       fi
   done
done
echo ${score[*]}


[root@localhost ~]# sh maopao.sh 
1 6 10 11 19 20 66 88

2.,



版权声明:本文为weixin_48185643原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。