#!/bin/bash
echo "please input a number list"
read -a arr
size=${#arr[@]}
gap=$size
while [ $gap -gt 1 ]
do
((gap=(gap/3)+1))
for((i=gap;i<size;i+=gap))
do
let temp=${arr[$i]}
let end=i-gap
while [ $end -ge 0 -a $temp -lt ${arr[$end]} ]
do
let arr[$end+gap]=${arr[$end]}
let end-=gap
if [ $end -lt 0 ]
then
break
fi
done
let arr[$end+$gap]=$temp
done
done
echo "after sort:" ${arr[*]}
shell脚本实现希尔排序
最新推荐文章于 2024-09-14 14:09:21 发布