用shell脚本一些希尔排序
#!/bin/bash
#希尔排序
function shell_sort()
{
#获取参数,数组
echo "输入数组长度:"
read size
for((i = 0; i < size; ++i))
do
echo "输入第$((i))个元素:"
read array[i]
done
echo ${array[*]}
#进行排序
let gsp=size
while [ $gsp -gt 1 ]
do
let gsp=gsp/3+1
for((idx=gsp; idx<size; idx+=gsp))
do
let temp=array[idx]
let pos=idx-gsp
#搬移元素
let back=array[pos]
while [ $pos -ge 0 -a $back -gt $temp ]
do
let array[pos+gsp]=array[pos]
let pos=pos-gsp
let back=array[pos]
done
let array[pos+gsp]=temp
done
done
echo ${array[*]}
}
shell_sort