Pagini recente » Cod sursa (job #1804879) | Cod sursa (job #152276) | Istoria paginii runda/hard | Cod sursa (job #2987557) | Cod sursa (job #2753306)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
vector<int> numere;
void quicksort(int st, int dr)
{
if (st < dr)
{
int pivot = numere[dr];
int firstFree = st;
int i = st;
while (i < dr)
{
if (numere[i] < pivot)
{
swap(numere[firstFree++], numere[i]);
}
i++;
}
swap(numere[firstFree], numere[dr]);
quicksort(st, firstFree - 1);
quicksort(firstFree + 1, dr);
}
}
int main()
{
int n;
fin >> n;
for (int i = 1; i <= n; i++)
{
int numar;
fin >> numar;
numere.push_back(numar);
}
quicksort(0, n - 1);
for (int i = 0; i < numere.size(); i++)
fout << numere[i] << " ";
fout << "\n";
return 0;
}