Pagini recente » Cod sursa (job #2720517) | Cod sursa (job #1343120) | Cod sursa (job #2472123) | Cod sursa (job #928165) | Cod sursa (job #1323130)
// Quick sort
#include <fstream>
using namespace std;
void quickSort(int left, int right, int a[]);
int main()
{
int N, i;
ifstream f("algsort.in");
f >> N;
int a[N];
for (int i = 0; i < N; i++)
f >> a[i];
f.close();
quickSort(0, N - 1, a);
ofstream g("algsort.out");
for (i = 0; i < N; i++)
g << a[i] << " ";
g.close();
return 0;
}
void quickSort(int left, int right, int a[])
{
int i = left, j = right, pivot = a[(i + j) / 2];
int tmp;
while (i <= j)
{
while (a[i] < pivot)
i++;
while (a[j] > pivot)
j--;
if (i <= j)
{
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
i++;
j--;
}
}
if (left < j)
quickSort(left, j, a);
if (i < right)
quickSort(i, right, a);
}