Pagini recente » Cod sursa (job #2190603) | Cod sursa (job #2905208) | Cod sursa (job #1416319) | Cod sursa (job #3193291) | Cod sursa (job #522709)
Cod sursa(job #522709)
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
void quickSort(int v[], int s, int d);
int main()
{
int a[500100], n;
fin >> n;
for(int i = 1; i <= n; i++ )
fin >> a[i];
quickSort(a, 0, n);
for ( int i = 1; i <= n; i++ )
fout << a[i] << ' ';
fin.close();
fout.close();
}
void quickSort(int v[], int s, int d)
{
int i = s, j = d;
int tmp;
int pivot = v[(s + d) / 2];
while (i <= j) {
while (v[i] < pivot)
i++;
while (v[j] > pivot)
j--;
if (i <= j)
{
tmp = v[i];
v[i] =v[j];
v[j] = tmp;
i++;
j--;
}
};
if (s < j)
quickSort(v, s, j);
if (i < d)
quickSort(v, i, d);
}