快速算法的实现(C/C++)

#include<iostream>
using namespace std;
void quicksort(int a[],int low,int high)
{
  int povit=a[low];//中枢标签
  int i,j;
  i=low;
  j=high;
  if(i>=j)//用于判断退出
      return;
  while(i<j)
  {
    
    while(i<high && povit<a[j])j--;
    if(i <j){a[i++]=a[j];}
    while(i<j && povit>a[i])i++;
    if(i<j){a[j--]=a[i];}     
  }
  a[i]=povit;
  quicksort(a,low,i-1);
  quicksort(a,i+1,high);
}
int main()
{
   int aa[9]={4,2,3,1,6,5,7,9,8};
   int low=0;
   int high=8;
   int i=0;
   quicksort(aa,low,high);
//用于输出结果
   for(i=0;i<=8;++i)
   cout<<aa[i]<<endl;
}

你可能感兴趣的:(C和C++基本语法)