一、冒泡排序
- 通过对数据循环排序,得出数值大小,进行排序
二、排序过程
score =(10 5 1 100 70 60)
三、编写排序
-
脚本排序(脚本中设置的固定变量进行排序)
#!/bin/bash # 冒泡排序 score=(10 5 1 100 70 60) 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[*]} 此处[$(($j+1))]可以替换为[j+1]
-
在键盘上输入
[root@server2 ~]# vi maopao.sh
[root@server2 ~]# chmod +x maopao.sh
[root@server2 ~]# ./maopao.sh
#!/bin/bash
键盘输入冒泡排序
k=0 数组第一位元素
while true 一直继续,循环
do
read -p "是否需要输入数值?" do 变量名
if [ $do == "no" ] 只要不输入no就一直继续
then break 退出循环
fi
read -p "请输入第$(($k+1))个元素" key
score[$k]=$key
let k++
done
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[*]}