shell脚本编程排序算法之快速排序
#!/bin/bash #shell脚本编程之快速排序的实现(以最右边为元点的思想) a=(8 5 10 3 2 93 4 1 2 3 40 9 61 8 6 29) temp= buff= #交换函数 swap() { buff=${a[$1]} a[$1]=${a[$2]} a[$2]=$buff } fun() { i=$(($1-1)) j=$1 temp=${a[$2]} if test $1 -ge $2 ;then return 2 fi while [ $j -le $2 ];do while [ $j -lt $2 -a ${a[$j]} -gt $temp ];do j=$(($j+1)) done i=$(($i+1)) swap $i $j j=$(($j+1)) done fun 0 $(($i-1)) fun $(($i+2)) $2 } fun 0 15 for((i=0;i<16;i++)) { echo -n ${a[$i]} " " } echo exit 0
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。