zoukankan      html  css  js  c++  java
  • C++总结笔记(八)排序算法之快速排序

    快速排序

    1. 将想要排序的数据通过一趟排序分割成两部分,其中的一部分数据比另外一部分的小;然后按照此方法对两部分数据分别快速排序。

    #include<iostream>
    #include<string>
    using namespace std;

    void quickSort(int* array,int begin,int end)
    {
     int l = begin;
     int r = end;
     int temp = array[begin];

     if(l>=r)
     {
      return;
     }
     while(l != r)
     {
      if(l<r && array[r] > temp)
      {
       r--;
      }
      array[l] = array[r];

      if(l<r && array[l] < temp)
      {
       l++;
      }
      array[r] = array[l];
     }
     array[l] = temp;

     quickSort(array,begin,l-1);
     quickSort(array,l+1,end);
    }

    int main()
    {
     int array[] = {23,45,3,2,24,56,1,67,4};
     int len = sizeof(array)/sizeof(int);
     quickSort(array,0,len-1);

     for(int i = 0;i<len;i++)
     {
      cout<<array[i]<<endl;
     }
     return 0;
    }

  • 相关阅读:
    联考20200604 T2 宝石
    联考20200604 T1 旅游
    联考20200603 T2 排列
    [HAOI2017]八纵八横
    联考20200603 T1 解码
    [POI2011]KON-Conspiracy
    CF917D Stranger Trees
    CF1278F Cards
    CF809E Surprise me!
    NOI2016 循环之美
  • 原文地址:https://www.cnblogs.com/huochangjun/p/3109582.html
Copyright © 2011-2022 走看看