Cod sursa(job #3326673)

Utilizator Emre12Isleam Emre Emre12 Data 29 noiembrie 2025 20:21:20
Problema Sortare prin comparare Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <stdio.h>
#include <stdlib.h>
#define MAXN 500000
int v[MAXN];
void myqsort(int st, int dr){
  int mij = (st+dr)/2,b = st,e = dr,aux;
  while ( v[b] < v[mij] )
    b++;
  while( v[e] > v[mij])
    e--;
  while(b < e){
    aux = v[b];
    v[b] = v[e];
    v[e] = aux;
    do
      b++;
    while(v[b] < v[mij]);
    do
      e--;
    while(v[e] > v[mij]);
  }
  if(e > st)
    myqsort(st,e);
  if(e + 1 < dr)
    myqsort(e+1,dr);
}
int main()
{
  FILE*fin;
  FILE*fout;
  fin = fopen("algsort.in","r");
  fout = fopen("algsort.out","w");
  int n;
  fscanf(fin,"%d",&n);
  for(int i = 0; i < n;fscanf(fin,"%d",&v[i++]));
  myqsort(0,n-1);
  for(int i = 0; i < n;fprintf(fout,"%d ",v[i++]));
  return 0;
}