用shell脚本实现希尔排序

来源:互联网 发布:全平台主播数据榜单 编辑:程序博客网 时间:2024/06/05 00:21
代码如下:
#!/bin/bashfunction shellsort(){let size=$#a=($@)echo "原序列为:" ${a[@]}let gap=$sizewhile [ $gap -gt 1 ]dolet gap=gap/3+1 #echo "gap=" $gap    for(( i=gap; i<size; ++i))    do#let key=a[i]for((j=i-gap;j>=0;j=j-gap))doif [ ${a[$j]} -gt ${a[$j+$gap]} ];thenlet temp=a[j]let a[j]=a[j+gap]let a[j+gap]=tempfidonedonedoneecho "排序后的序列:" ${a[@]}}size=$#if [ $size = 0 ];thenecho "请在命令后输入数组,格式如下"echo "./filename 1 2 3 4"elseshellsort $@fi

结果如下:

原创粉丝点击