Pagini recente » Cod sursa (job #2930778) | Cod sursa (job #2397008) | Cod sursa (job #969687) | Cod sursa (job #603993) | Cod sursa (job #856697)
Cod sursa(job #856697)
#include <fstream>
using namespace std;
int *vector_citit;
void qsort(int start,int sfarsit)
{
int dreapta = start, stanga = sfarsit, pivot = vector_citit[(start+sfarsit)>>1], swapper;
while(dreapta <= stanga)
{
if(vector_citit[dreapta]<pivot)
{
dreapta++;
continue;
}
if(vector_citit[stanga]>pivot)
{
stanga--;
continue;
}
swapper = vector_citit[dreapta];
vector_citit[dreapta] = vector_citit[stanga];
vector_citit[stanga] = swapper;
dreapta++,stanga--;
}
if(start<stanga)
qsort(start,stanga);
if(dreapta<sfarsit)
qsort(dreapta,sfarsit);
}
int main()
{
int n,i;
ifstream f("algsort.in");
f >> n;
vector_citit = new int[n];
--n;
for(i=0;i<=n;++i)
f >> vector_citit[i];
f.close();
qsort(0,n);
ofstream g("algsort.out");
for(i=0;i<=n;++i)
g << vector_citit[i] << " ";
g.close();
return 0;
}