Chinaunix首页 | 论坛 | 博客
  • 博客访问: 163940
  • 博文数量: 67
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 622
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-19 19:12
文章分类

全部博文(67)

分类: LINUX

2014-12-09 14:58:02

lst=(4 2 9 6 5 7 1 0 3 8)  #定义数组
n=${#lst[*]} #数组长度

#冒泡
for((i=1; i do
    for((j=0; j     do
        if[[ ${lst[j]} -gt ${lst[j+1]}]]; then
            t=${lst[j]}
            ${lst[j]}=${lst[j+1]}
            ${lst[j+1]}=$t

        fi
    done
done
echo ${lst[*]}     #输出数组

#插入排序
for((i=1; i))
do
    for((j=i; j>0; j--))
    do
        if[[ ${lst[j]} -lt ${lst[j-1]}]]; then
            t=${lst[j]}
            ${lst[j]}=${lst[j-1]}
            ${lst[j-1]}=$t

        fi
    done
done
echo ${lst[*]}

#快速排序(归并排序)
function qsort()
{
    if(($1 >= $2)); then
        return
    fi
    m=$1
    a=${lst[$1]}
    for((i=$1; i<=$2; i++))
    do
        if[[ ${lst[i]} -lt $a]]; then
            tm=${lst[++m]}
            lst[m]=${lst[i]}

            lst[i]=$tm
        fi
    done
#交换数组第一个与下标为m的,因为第一个作为比较标准一直未动
    tt=${lst[$1]}
    lst[$1]=${lst[m]}
    lst[m]=$tt
    
    qsort $1 $m-1
    qsort $m+1 $2

}
qsort 0 $n-1

括号、下标、$等用的比较乱,不过调试通过了,实际使用的时候需要整理!



阅读(1092) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~