快速排序存档

来源:互联网 发布:女装陈列培训软件 编辑:程序博客网 时间:2024/06/05 06:51

#include <iostream>
using namespace std;
void swap(int &a,int &b)
{
 int c;
 c=a;
 a=b;
 b=c;
}
void sort(int *a,int begin,int end)
{
 if(begin>=end)
  return ;
 int i,j,k;
 k=a[begin];
 i=begin;
 j=end;
 while(i<j)
 {
  while(i<j && a[j]>=k)
  {
   --j;
  }
  while(i<j && a[i]<=k)
  {
   ++i;
  }
  swap(a[i],a[j]);
  
 }
 swap(a[begin],a[j]);
 sort(a,begin,j-1);
 sort(a,j+1,end);
}

void BubbleSort(int a[],int n)
{
 int i,j;
 for(i=n-1;i>-1;--i)
 {
  for(j=0;j<i;++j)
  {
   if(a[j]>a[j+1])
    swap(a[j],a[j+1]);
  }
 }
}


 

/*void qsort(int *a,int begin,int end)
{
 if(begin>=end)
  return ;
 int i,j,k;
 i=begin;
 j=end;
 k=a[begin];
 while(begin < end)
 {
  while(begin<end && a[end] >=k)
  {
   --end;
  }
  a[begin] = a[end];
  while(begin<end && a[begin] <= k)
  {
   ++begin;
  }
  a[end]=a[begin];
 }
 a[begin]=k;
 qsort(a,i,begin-1);
 qsort(a,begin+1,j);
}


 

*/
int main()
{
 int num[100];
 int i,n;
 cin>>n;
 for(i=0;i<n;++i)
 {
  cin>>num[i];
 }
 sort(num,0,n-1);
 for(i=0;i<n;++i)
 {
  cout<<num[i]<<" ";
 }
 cout<<endl;
 return 0;
}