Pagini recente » Cod sursa (job #1744592) | Cod sursa (job #1893564) | Cod sursa (job #543158) | Cod sursa (job #2515037) | Cod sursa (job #1833614)
#include <cstdio>
#include <cstdlib>
using namespace std;
FILE *f=fopen("algsort.in","r");
FILE *g=fopen("algsort.out","w");
void QuickSort(unsigned int *v, int st, int dr) {
if(st < dr) {
int i = st, j = dr;
unsigned int x = v[st];
while (i < j) {
while (i < j && v[j] >= x)
j--;
v[i] = v[j];
while(i < j && v[i] <= x)
i++;
v[j] = v[i];
}
v[i] = x;
QuickSort(v, st, i - 1);
QuickSort(v, i + 1, dr);
}
}
int main()
{
int n;
unsigned int *v;
fscanf(f, "%d", &n);
v = (unsigned int*)calloc(n + 1, sizeof(unsigned int));
for (int i = 0; i < n; i++)
fscanf(f, "%u", &v[i]);
QuickSort(v, 0, n - 1);
for (int i = 0; i < n; i++)
fprintf(g, "%u ", v[i]);
return 0;
}