Pagini recente » Cod sursa (job #1283888) | Cod sursa (job #1569922) | Cod sursa (job #2151395) | Cod sursa (job #3139897)
#include <fstream>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout("algsort.out");
const int NMAX = 5 * (1e5);
int v[NMAX + 5];
void QuickSort(int left, int right)
{
if(left >= right)
{
return;
}
int mid = (left + right) / 2;
swap(v[mid], v[right]);
int first = left;
for(int i = left; i <= right - 1; i++)
if(v[i] < v[right])
{
swap(v[i], v[first]);
first++;
}
swap(v[first], v[right]);
QuickSort(left, first);
QuickSort(first + 1, right);
}
int main()
{
int n;
fin >> n;
for(int i = 1; i <= n; i++)
fin >> v[i];
QuickSort(1, n);
for(int i = 1; i <= n; i++)
fout << v[i] << ' ';
fin.close();
fout.close();
return 0;
}