Cod sursa(job #3244105)

Utilizator chiarimitrebuiecontquestionmarkmiruna mihailescu chiarimitrebuiecontquestionmark Data 23 septembrie 2024 16:44:26
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
using namespace std;
int h[500003];
int n;
void quicksort(int st, int dr){
  int mij=(st+dr)/2;
  int i=st, j=dr, mijloc=h[mij];
  while(i<=j){
    while(h[i]<mijloc)
      i++;
    while(h[j]>mijloc)
      j--;
    if(i<=j){
      swap(h[i], h[j]);
      i++, j--;
    }
  }
  if(j>st)
    quicksort(st, j);
  if(i<dr)
    quicksort(i, dr);
}

int main(){
  ifstream fin("algsort.in");
  ofstream fout("algsort.out");
    fin>>n;
    for(int i=1;i<=n;i++)
        fin>>h[i];
    quicksort(1, n);
    for(int i=1;i<=n;i++)
        fout<<h[i]<<" ";
    return 0;
}