Cod sursa(job #645700)

Utilizator lavinia_nLavinia Nastase lavinia_n Data 10 decembrie 2011 12:31:16
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<stdio.h>
#include<stdlib.h>
#include<fstream>
using namespace std;

ifstream f("algsort.in");
ofstream g("algsort.out");

void swap(long *a, long *b){
  long t=*a; 
  *a=*b; 
  *b=t;
}
void sort(long a[], long beg, long end){
  if (end > beg + 1){
    int piv = a[beg], l = beg + 1, r = end;
    while (l < r){
      if (a[l] <= piv)
        l++;
      else
        swap(&a[l], &a[--r]);
    }
    swap(&a[--l], &a[beg]);
    sort(a, beg, l);
    sort(a, r, end);
  }
}

int main(){
    long a[70],i,n,beg,end;
    f>>n;;
    for(i=0;i<n;i++)
          f>>a[i];
    beg=0; end=n;
    sort(a,beg,end);
    for(i=0;i<n;i++)
          g<<a[i]<<" ";
    return 0;
}