Pagini recente » Cod sursa (job #2656377) | nimic_suspect. | Cod sursa (job #197573) | Cod sursa (job #1947827) | Cod sursa (job #645443)
Cod sursa(job #645443)
#include<fstream>
using namespace std;
unsigned int s[500000],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++;
while(pivot<s[b] ) 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)
{unsigned int p;
if(i<j)
{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;
}