Pagini recente » Cod sursa (job #2911778) | Cod sursa (job #597179) | Cod sursa (job #1287132) | Cod sursa (job #1158109) | Cod sursa (job #645406)
Cod sursa(job #645406)
#include<fstream>
using namespace std;
unsigned int s[100000],N;
unsigned int part(unsigned int i,unsigned int j)
{unsigned int pivot=s[(i+j)/2];
unsigned int a=i,b=j,aux;
while(a<=b)
{while(s[a]<pivot && a<j) a++;
while(pivot<s[b] && b>i) b--;
if(a<=b)
{aux=s[a];
s[a]=s[b];
s[b]=aux;
a++;
b--;
}
}
return a;
}
void quicks(unsigned int i,unsigned int j)
{if(i<j)
{unsigned int p=part(i,j);
if(i<p-1) quicks(i,p-1);
if(p<j) quicks(p,j);
}
}
int main()
{ifstream f("algsort.in");
f>>N;
for(unsigned int i=1;i<=N;i++)
f>>s[i];
f.close();
quicks(1,N);
ofstream g("algsort.out");
for(unsigned int i=1;i<=N;i++)
g<<s[i]<<" ";
g.close();
return 0;
}