加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell脚本编程(快速排序)

发布时间:2020-12-15 07:10:37 所属栏目:安全 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/bin/bash #shell脚本编程之快速排序的实现(以最右边为元点的思想) a=(8 5 10 3 2 93 4 1 2 3 40 9 61 8 6 29) #a=(0 0 0 0 1 2 3 3 4 4 8 28 30495

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

    #!/bin/bash  
    #shell脚本编程之快速排序的实现(以最右边为元点的思想)  
    a=(8 5 10 3 2 93 4 1 2 3 40 9 61 8 6 29)  
    #a=(0  0  0  0  1  2  3  3  4  4  8  28  30495  921  43716)  
    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  
                [ $j -lt $2 ] && while [[ ${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  

    #include <iostream>  
    using namespace std;  
      
    void swap(int *a,int *b)  
    {  
        int temp = *a;  
        *a = *b;  
        *b = temp;  
    }  
    void Grial(int a[],int x,int y)  
    {  
        int i=x-1;  
        int j=x;  
        if(x>=y)return;  
        int temp = a[y];  
        while(j<=y)  
        {  
            while(j<y&&a[j]>a[y])  
                j++;  
            i++;  
            swap(&a[i],&a[j]);  
            j++;      
        }  
        Grial(a,i-1);  
        Grial(a,i+1,y);  
    }  
    int main()  
    {  
        int a[]={4,3,921,30495,28,43716,4,2,1,8,5};  
        Grial(a,14);  
        for(int i=0;i<15;i++)  
        {     
            cout<<a[i]<<"  ";  
        }  
        cout<<endl;  
    }  


以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读