Pagini recente » Cod sursa (job #2620514) | Cod sursa (job #2829657) | Cod sursa (job #3219569) | Cod sursa (job #2764185) | Cod sursa (job #1335559)
#include <stdio.h>
#include <stdlib.h>
#define MAXN 500000
int v[MAXN];
void myQuickSort(int st, int dr){
int pivot=v[st+rand()%(dr-st+1)], i=st, j=dr, aux;
while(i<=j){
while(v[i]<pivot){
i++;
}
while(v[j]>pivot){
j--;
}
if(i<=j){
aux=v[i];
v[i]=v[j];
v[j]=aux;
i++;
j--;
}
}
if(st<j){
myQuickSort(st, j);
}
if(i<dr){
myQuickSort(i, dr);
}
}
int main(){
int n, i;
FILE *fin, *fout;
fin=fopen("algsort.in", "r");
fout=fopen("algsort.out", "w");
fscanf(fin, "%d", &n);
for(i=0; i<n; i++){
fscanf(fin, "%d", &v[i]);
}
myQuickSort(0, n-1);
for(i=0; i<n-1; i++){
fprintf(fout, "%d ", v[i]);
}
fprintf(fout, "%d\n", v[i]);
fclose(fin);
fclose(fout);
return 0;
}