zoukankan      html  css  js  c++  java
  • 快速排序 QuickSort

     1 #include<iostream>
     2 using namespace std;
     3 
     4 void QuickSort(int a[],int first,int last)
     5 {
     6     if(first==last)
     7         return;
     8     int i=first,j=last;
     9     int tmp;
    10     tmp=(a[first]+a[last])/2;
    11     while(i!=j)
    12     {
    13         while((i<j)&&(a[i]<tmp)) 
    14             i++;
    15         if(i<j)
    16         {
    17             swap(a[i],a[j]);
    18             j--;
    19         }
    20     }
    21 
    22     if((a[i]>=tmp)&&(i>=first))
    23     {
    24         QuickSort(a,first,i-1);
    25         QuickSort(a,i,last);
    26     }
    27     else if((a[i]>=tmp)&&(i<=last))
    28     {
    29         QuickSort(a,first,i);
    30         QuickSort(a,i+1,last);
    31     }
    32 }
    33 
    34 void main()
    35 {
    36     int a[8]={25,-5,288,-139,45,196};
    37     int first=0,last=7;
    38 
    39     QuickSort(a,first,last);
    40 
    41     for(int i=0;i<8;i++)
    42         cout<<a[i]<<" ";
    43 }

    这个快速排序,是把首位和末位的数据求平均加以比较,其中采用从左向右的顺序实现的。 

  • 相关阅读:
    Maven
    Maven
    Maven
    Maven
    Maven
    Maven
    Maven
    Python
    Maven
    include和require的区别
  • 原文地址:https://www.cnblogs.com/coder2012/p/2708835.html
Copyright © 2011-2022 走看看