Pagini recente » Cod sursa (job #523596) | Cod sursa (job #2910712) | Cod sursa (job #1062100) | Cod sursa (job #1633618) | Cod sursa (job #1807409)
#include <fstream>
using namespace std;
int a[500005];
int n;
void quick(int in, int sf) {
if(sf <= in) return ;
int aux = a[(in * 2 + sf) / 3];
int i = in, j = sf;
while(i <= j) {
while(a[i] < aux) i ++;
while(a[j] > aux) j --;
if(i <= j) {
swap(a[i], a[j]);
i ++;
j --;
}
}
quick(in, j);
quick(i, sf);
}
int main()
{
ifstream f("algsort.in");
ofstream g("algsort.out");
f >> n;
for(int i = 1; i <= n; i ++) {
f >> a[i];
}
quick(1, n);
for(int i = 1; i <= n; i ++) g << a[i] << " ";
g << "\n";
return 0;
}