Pagini recente » Cod sursa (job #2843060) | Cod sursa (job #201352) | Cod sursa (job #210313) | Cod sursa (job #2016013) | Cod sursa (job #403845)
Cod sursa(job #403845)
#include<fstream>
#define Max 500001
using namespace std;
int a[Max],n,k;
void poz(int li,int ls)
{
int aux,i,j,i1,j1;
i = li;
j = ls;
i1 = 0;
j1 = -1;
while(i < j)
{
if(a[i] > a[j])
{
aux = a[i];
a[i] = a[j];
a[j] = aux;
aux = i1;
i1 = -j1;
j1 = aux;
}
i = i+i1;
j = j+j1;
}
k = i;
}
void quicksort(int li,int ls)
{
if(li < ls)
{
poz(li,ls);
quicksort(li,k-1);
quicksort(k+1,ls);
}
}
int main()
{
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int i;
fin>>n;
for(i = 1; i <= n; i++)
fin>>a[i];
quicksort(1,n);
for(i = 1; i <= n; i++)
fout<<a[i]<<" ";
fin.close();
fout.close();
return 0;
}