Cod sursa(job #1819799)
| Utilizator | Data | 30 noiembrie 2016 20:38:08 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.72 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int i,n,k,p;
long* v;
void quick(int s,int d)
{
int i,j,m;
long t;
i=s;
j=d;
m=(i+j)/2;
do
{
while(i<d && v[i]<v[m])
i++;
while(j>s && v[j]>v[m])
j--;
if(i<=j)
{
t=v[i];
v[i]=v[j];
v[j]=t;
i++;
j--;
}
}while(i<=j);
if(i<d)
quick(i,d);
if(j>s)
quick(s,j);
}
int main()
{
f>>n;
v=new long[n+5];
for(i=1;i<=n;i++)
f>>v[i];
quick(1,n);
for(i=1;i<=n;i++)
g<<v[i]<<" ";
}
