Cod sursa(job #1321320)

Utilizator VladutZ94FMI Chichirau Vlad Vasile VladutZ94 Data 18 ianuarie 2015 23:45:45
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <cstdio>

using namespace std;

    int n;
    int arr[20000];

void QuickSort(int arr[], int left, int right)
{
    int i=left;
    int j=right;
    int temp;
    int pivot = arr[(left+right)/2];

    while(i<=j)
    {
        while(arr[i]<pivot)
            i++;
        while(arr[j]>pivot)
            j--;
        if(i<=j)
        {
            temp=arr[i];
            arr[i]=arr[j];
            arr[j]=temp;
            i++;
            j--;

        }
    }
    if(left<j)
        QuickSort(arr,left,j);
    if(right>i)
        QuickSort(arr,i,right);
}

int main()
{
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&arr[i]);
    QuickSort(arr,1,n);
    for(int i=1;i<=n;i++)
        printf("%d ",arr[i]);

    return 0;
}