Cod sursa(job #1179254)
| Utilizator | Data | 28 aprilie 2014 12:12:33 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <iostream>
#include <fstream>
#include <string.h>
#include <math.h>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int v[100],n;
void t(long i,long j){
long aux,m=(i+j)/2,a=i,b=j;
do{
while(i<b&&v[i]<m) i++;
while(j>a&&v[j]>m) j--;
if(i<=j){
aux=v[i];
v[i]=v[j];
v[j]=aux;
i++;
j--;
}
}while(i<=j);
if(j>a) t(a,j);
if(i<b) t(i,b);
}
int main(){
long i;
f>>n;
for(i=1;i<=n;i++) f>>v[i];
t(1,n);
for(i=1;i<=n;i++) g<<v[i]<<" ";
return 0;
}
