#!/bin/bash
#键盘输入 冒泡排序
k=0
while true
do
read -p "是否输入数值(y/n)" doe
if [ $doe == "n" ]
then break
fi
read -p "请输入第$(($k+1))个元素" key
score[$k]=$key
let k++
done
for ((i=1;i<${#score[*]};i++)) #比较轮数为数组,长度减一,从1开始
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 "他们的排序结果是:"
echo ${score[*]}
关于shell脚本之——冒泡排序
最新推荐文章于 2024-01-30 09:17:35 发布