zoukankan      html  css  js  c++  java
  • 常见算法总结

    持续更新中。。。

    快速排序:以第一个元素为根元素,第一趟排序目标是在19前面的元素都比19小,在19后面的都比19大。

    19 (20 35 22 13 41 27 45 37) 42 15 5 10

    先从最后一个元素开始,将10与根元素19比较,10小,19和10互换位置,顺序如下:

    10 (20 35 22 13 41 27 45 37) 42 15 5 19

    这时5也比19小,如果5再和19互换,或者接着15再和19互换位置,顺序如下:

    10 (20 35 22 13 41 27 45 37) 42 19 15 5

    这时就违背了前面定义的排序目标:在19前面的元素都比19小,在19后面的都比19大。

    void quick_sort(int arr[],int left,int right){

    int i=left;

    int j=right;

    int temp = arr[i];

    while(i<j){

    while(temp<=arr[j]){

      j--;

    }

    arr[i]=arr[j];

    arr[j]=temp;

    while(temp>=arr[i]){

      i++;

    }

    if(i-1>left){

    quick_sort(arr,left,i-1);

    }

    if(i+1<right){

    quick_sort(arr,i+1,right);

    }

    }

     http://canlynet.iteye.com/blog/1593540

  • 相关阅读:
    ioi1998 Polygon
    [Noip模拟题]Seq
    [noip模拟]分组行动
    入门OJ:photo
    Sgu167 I-country
    入门OJ:简单的网络游戏
    入门OJ:Coin
    ATT&CK实战系列
    Metasploit Framework(二)
    RoarCTF 2019
  • 原文地址:https://www.cnblogs.com/usual2013blog/p/2701232.html
Copyright © 2011-2022 走看看