- 题目:采用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[*]}
程序结果:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)