Cod sursa(job #2540415)

Utilizator denmirceaBrasoveanu Mircea denmircea Data 7 februarie 2020 09:53:50
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout("algsort.out");
int v[500005],n,i;
int pivot(int st,int dr){
int p=st+(rand()*rand())%(dr-st);
swap(v[p],v[dr]);
int j=st;
for(int i=st;i<dr;i++){
    if(v[i]<v[dr]){
        swap(v[i],v[j]);
        j++;
    }
}
swap(v[j],v[dr]);
return j;
}
void qsort(int st,int dr){
    if(st<dr){
        int p=pivot(st,dr);
        qsort(st,p-1);
        qsort(p+1,dr);

    }

}
int main()
{
  fin>>n;
  for(i=1;i<=n;i++)
    fin>>v[i];
  qsort(1,n);
  for(i=1;i<=n;i++)
    fout<<" "<<v[i];
}