Pagini recente » Romanii medaliati la IOI | Cod sursa (job #883508) | Cod sursa (job #2062241) | Istoria paginii runda/meesh/clasament | Cod sursa (job #2897315)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int v[500001];
int impartire(int v[], int stg, int drp){
int pivot = v[drp];
int i = stg - 1;
for(int j = stg; j<=drp-1;j++)
{
if(v[j] < pivot){
i++;
swap(v[i], v[j]);
}
}
swap(v[i + 1], v[drp]);
return (i + 1);
}
void quicksort(int v[], int stg, int drp){
if(stg<drp)
{
int mij = impartire(v, stg, drp);
quicksort(v, stg, mij - 1);
quicksort(v, mij + 1, drp);
}
}
int main() {
int n;
f>>n;
for(int i = 0;i < n;i++)
f>>v[i];
quicksort(v, 0, n - 1);
for(int i = 0;i < n;i++)
g<<v[i]<<" ";
return 0;
}