Pagini recente » Cod sursa (job #959831) | Cod sursa (job #708282) | Cod sursa (job #1136245) | Cod sursa (job #2231842) | Cod sursa (job #645396)
Cod sursa(job #645396)
#include<fstream>
using namespace std;
int s[100],N;
int part(int i,int j)
{int pivot=s[(i+j)/2];
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(int i,int j)
{if(i>=j) return;
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(int i=1;i<=N;i++)
f>>s[i];
f.close();
quicks(1,N);
ofstream g("algsort.out");
for(int i=1;i<=N;i++)
g<<s[i]<<" ";
g.close();
return 0;
}