Sắp xếp nhanh

admin - 19/11/2018

#include <iostream>
#include<stdio.h>
using namespace std;
long long a[1000001],n;
void vaora()
{freopen("quicksort.inp","r",stdin);
freopen("quicksort.out","w",stdout);
}
void nhapmang()
{
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i];
}
void sxn(int l, int r)
{   int i=l,j=r;
    int mid=(l+r)/2;
    while(i<=j)
    {
        while(a[i]<a[mid]) i++;
        while(a[j]>a[mid]) j--;
        if(i<=j)
        {
            if(i<j) swap(a[i],a[j]);
            i++;
            j--;
        }
    }
    if(l<j) sxn(l,j);
    if(i<r) sxn(i,r);
}
void xuatmang()
{
     for(int i=1;i<=n;i++)
        cout<<a[i]<<" ";
}
int main()
{ vaora();
  nhapmang();
  sxn(1,n);
  xuatmang()
;    return 0;
}

 

CÁC PHẢN HỒI

Back to Top