现在的位置: 首页 > 综合 > 正文

快速排序

2013年05月05日 ⁄ 综合 ⁄ 共 608字 ⁄ 字号 评论关闭

快速排序(C++)

#include "iostream.h"

void quicksort(int A[],int low,int high);
int split(int A[],int low,int high);
void Swap(int &x,int &y);

void main()
{

cout<<"-----------------快速排序法------------";
int A[]={1,8,9,4,5,3};
quicksort(A,0,5);
for(int i=0;i<=5;i++)
{
  cout<<A[i]<<endl; 
}
}
void quicksort(int A[],int low,int high)
{
int k;
if(low<high)
{
  k=split (A, low, high);;
  quicksort(A,low,k-1);
  quicksort(A,k+1,high);
}

}
int split(int A[],int low,int high)
{
int k,i=low;
int x=A[low];
for(k=low+1;k<=high;k++)//--------
{
  if(A[k]<=x)
  {
   i=i+1;
   if(i!=k)
   {
    Swap(A[i],A[k]);
   }
  

  }
 
}
Swap(A[low],A[i]);
return i;

}
void Swap(int &x,int &y)
{
int temp;
temp=x;
x=y;
y=temp;

}

 

抱歉!评论已关闭.