shell脚本编写希尔排序

来源:互联网 发布:mac百度云离线下载 编辑:程序博客网 时间:2024/06/05 19:47

用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