#!/bin/bash
function
shellsort()
{
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
转载请注明原文地址: https://www.6miu.com/read-64039.html