Pagini recente » Cod sursa (job #3229257) | Cod sursa (job #2246908) | Cod sursa (job #1030292) | Cod sursa (job #2159855) | Cod sursa (job #609642)
Cod sursa(job #609642)
#include <fstream>
#include <vector>
using namespace std;
vector<int> v;
int n;
void citire(); void qsort(int l,int r);
void afisare();
int main()
{
citire();
qsort(0,n-1);
afisare();
return 0;
}
void afisare()
{
ofstream fout("algsort.out");
for(int i=0;i < n;++i)
fout<<v.at(i)<<" ";
fout.close();
}
void qsort(int l,int r)
{
int i=l,j=r,t=v.at((l+r)/2);
while(i<=j)
{
while(v.at(i)<t) ++i;
while(v.at(j)>t) --j;
if(i<=j)
{
swap(v.at(i),v.at(j));
++i;
--j;
}
}
if(i<r) qsort(i,r);
if(l<j) qsort(l,j);
}
void swap(int &a,int &b)
{
int aux=a; a=b; b=aux;
}
void citire()
{
int x;
ifstream fin("algsort.in");
fin>>n;
for(int i=0;i<n;++i)
{
fin>>x;
v.push_back(x);
}
}