Pagini recente » Cod sursa (job #3197536) | Cod sursa (job #595895) | Cod sursa (job #60249) | Cod sursa (job #289078) | Cod sursa (job #286469)
Cod sursa(job #286469)
#include<fstream.h>
ifstream in("algsort.in");
ofstream out("algsort.out");
int v[500002],n;
void quicks(int st,int dr)
{
int dri,sti;
dri=dr;
sti=st;
int mij=v[(st+dr)/2];
do
{
while(mij>v[st])st++;
while(mij<v[dr])dr--;
if(st<=dr)
{
int aux=v[st];
v[st]=v[dr];
v[dr]=aux;
dr--;
st++;
}
}
while(st<=dr);
if(dr>sti) quicks(sti,dr);
if(dri>st) quicks(st,dri);
}
int main(void)
{
int i;
in>>n;
for(i=1;i<=n;i++)
in>>v[i];
quicks(1,n);
for(i=1;i<=n;i++)
out<<v[i]<<" ";
out<<"\n";
in.close();
out.close();
return 0;
}