shell脚本实现希尔排序

来源:互联网 发布:淘宝助理数据包 编辑:程序博客网 时间:2024/06/13 21:32

#!/bin/bashfunction 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
原创粉丝点击