Cod sursa(job #1849739)

Utilizator 1475369147896537415369Andrei Udriste 1475369147896537415369 Data 17 ianuarie 2017 19:54:55
Problema Sortare prin comparare Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>
#include <queue>
using namespace std;
//--------------------------------------------
void swap(int v[], int i, int j){

int temp;

temp = v[i];
v[i] = v[j];
v[j] = temp;
}

void QuickSort(int v[], int left, int right){

int i, last;

if(left>=right){
    return;
}
swap(v, left, left + rand() % (right - left + 1));
last = left;

for(i=left+1; i<=right; i++){
    if(v[i] < v[left]){
        swap(v, ++last, i);
    }
}
swap(v, left, last);
QuickSort(v, left, last-1);
QuickSort(v, last+1, right);
}
//--------------------------------------------
int main() {

ifstream fin("algsort.in");
ofstream fout("algsort.out");

int N, i, x, A[500000];

fin >> N;

for(i=0; i<N; i++){
    fin >> A[i];
}
QuickSort(A, 0, N-1);

for(i=0; i<N; i++){
    fout << A[i] << " ";
}
}
//--------------------------------------------