Cod sursa(job #3326771)

Utilizator Emre12Isleam Emre Emre12 Data 30 noiembrie 2025 14:34:48
Problema Sortare prin comparare Scor 100
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 = v[(st+dr)/2],b = st,e = dr,aux;
  while ( v[b] < mij )
    b++;
  while( v[e] > mij)
    e--;
  while(b < e){
    aux = v[b];
    v[b] = v[e];
    v[e] = aux;
    do
      b++;
    while(v[b] < mij);
    do
      e--;
    while(v[e] > mij);
  }
  if( st < e)
    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;
}