Cod sursa(job #1819832)
| Utilizator | Data | 30 noiembrie 2016 21:09:38 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.71 kb |
#include <fstream>
#include <vector>
using namespace std;
int i,n,k,p;
vector<int> v;
void quick(int s,int d)
{
int i,j,x;
i=s;
j=d;
x=v[(s+d)/2];
do
{
while(v[i]<x)
i++;
while(v[j]>x)
j--;
if(i<=j)
{
swap(v[i],v[j]);
i++;
j--;
}
}while(i<=j);
if(j>s)
quick(s,j);
if(i<d)
quick(i,d);
}
int main()
{
ifstream f("algosrt.in");
ofstream g("algsort.out");
f>>n;
for(i=0;i<n;i++)
{
int a;
f>>a;
v.push_back(a);
}
quick(0,n-1);
for(i=0;i<n;i++)
g<<v[i]<<' ';
return 0;
}
