#!/bin/bash
function shellsort()
{
#echo "the size of arr"
#read size
#for((i=0;i<size;++i))
#do
# echo "enter the arr[$i]"
# read arr[i]
#done
#gap=$size
arr=(23 12 2 5 9 4 3 6 0 25 8)
size=${#arr[@]}
gap=$size
echo ${arr[*]}
while [ $gap -gt 1 ]
do
let gap=gap/3+1
echo $gap
for((idx=gap;idx<size;++idx))
do
let tmp=arr[idx]
let end=idx-gap
while [ $end -ge 0 -a ${arr[$end]} -gt $tmp ]
do
let arr[end+gap]=arr[end]
let end-=gap
done
let arr[end+gap]=tmp
done
done
echo "${arr[*]}"
}
shellsort
shell脚本实现希尔排序
最新推荐文章于 2024-09-14 14:09:21 发布