Pagini recente » Cod sursa (job #230955) | Cod sursa (job #885517) | Cod sursa (job #1706090) | Cod sursa (job #229900) | Cod sursa (job #823519)
Cod sursa(job #823519)
#include<fstream>
using namespace std;
long long a[600000],n,st,dr;
ifstream f("algsort.in");
ofstream g("algsort.out");
void citire(long long a[], long long n)
{ long long i;
for(i=1;i<=n;i++)
f>>a[i];}
void qSort(long long a[],long long st,long long dr)
{long long temp,min,max,mijl;
mijl = a[st+(dr-st)/2];
min = st; max = dr;
do
{while(a[min] < mijl) min++;
while(a[max] > mijl) max--;
if(min <= max)
{
temp = a[min];
a[min++] = a[max];
a[max--] = temp;
}
}while(min <= max);
if(st < max) qSort(a,st,max);
if(dr > min) qSort(a,min,dr);
}
void tiparire(long long a[], long long n)
{long long i;
for(i=1;i<=n;i++)
g<<a[i]<<" ";}
int main()
{f>>n;
citire(a,n);
st=1;
dr=n;
qSort(a,st,dr);
tiparire(a,n);
f.close();
g.close();
return 0;}