Pagini recente » Cod sursa (job #2808827) | Cod sursa (job #3281532) | Cod sursa (job #2167224) | Cod sursa (job #730925) | Cod sursa (job #2083011)
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int A[500002],n,i;
int PartitionHoare( int p, int r)
{
int x = A[p],
i = p,
j = r,
temp;
while(true) {
while(A[j] > x)
j--;
while(A[i] < x)
i++;
if(i < j) {
temp = A[i];
A[i] = A[j];
A[j] = temp;
i++;
j--;
}
else
return j;
}
}
void Hoare( int p, int r)
{
if(p < r) {
int q ;
q= PartitionHoare( p, r);
Hoare( p, q);
Hoare( q + 1, r);
}
}
int main()
{srand(time(0));
f>>n;
for(int i=1;i<=n;i++)
{
f>>A[i];
}
Hoare(1,n);
for(i=1;i<=n;i++)
g<<A[i]<<' ';
}// Burcea Bogdan , iti multumesc pt sfatul cu random :)