您的位置:首页 > 运维架构 > Shell

shell脚本实现希尔(shell)排序

2017-07-31 19:28 162 查看
题目:采用shell脚本实现希尔排序

最近刚刚学习啦shell脚本编程,因此写了一个简单的希尔排序

#! /bin/bash
arr=("5" "7" "1" "4" "3" "6" "8" "9")
size=${#arr[@]}
gap=$size
echo "before arr:" ${arr[*]}
while [ $gap -gt 1 ]
do
((gap=(gap/3)+1))
for((i=gap;i<size;i+=gap ))
do
let temp=${arr[$i]}
let start=i-gap
while [ $start -ge 0 -a $temp -lt ${arr[$start]} ]
do
let sum=start+gap
let arr[$sum]=${arr[$start]}
let start-=gap
if [ $start -lt 0 ];then
break;
fi
done
let arr[$start+$gap]=$temp
done
done
echo "after arr :" ${arr[*]}


程序结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: