Pagini recente » Cod sursa (job #1817762) | Cod sursa (job #2885562) | Istoria paginii runda/cerculdeinfo-lectiile9_10_11_12_13 | Rating Dobre Stefania Alexandra (Aallyia) | Cod sursa (job #2080449)
#include <stdio.h>
using namespace std;
FILE* fin;
FILE* fout;
int n;
int V[500000];
void quickSort(int st, int dr)
{
if(st == dr)
return;
int pivot = V[(st + dr) / 2];
int i = st;
int j = dr;
do {
while(i < dr && V[i] < pivot) ++i;
while(j > st && V[j] > pivot) --j;
if(i <= j)
{
int aux = V[i];
V[i] = V[j];
V[j] = aux;
++i;
--j;
}
} while(i <= j);
if(j > st) quickSort(st, j);
if(i < dr) quickSort(i, dr);
}
int main()
{
fin = fopen("algsort.in", "r");
fout = fopen("algsort.out", "w");
fscanf(fin, "%d", &n);
for(int i = 0; i < n; ++i)
fscanf(fin, "%d ", V + i);
quickSort(0, n - 1);
for(int i = 0; i < n; ++i)
fprintf(fout, "%d ", V[i]);
return 0;
}