Pagini recente » Cod sursa (job #1649291) | Cod sursa (job #2044786) | Cod sursa (job #2137165) | Cod sursa (job #1996805) | Cod sursa (job #1010911)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
void sort(vector<int> v, int n)
{
if (n < 0) return;
if (n < 1) return;
//cout << "N este:" << n << " iar pivotul este: " << v[0] << endl;
int pivot = v[0];
// gasim lista < pivot in vector
vector<int> lesser; int k = 0;
for (int i = 0; i < n; i++)
if (v[i] < pivot)
{
lesser[k++] = v[i];
//cout << v[i] << "este mai mic decat: " << pivot << endl;
}
// sortam lesser
sort(lesser, k);
// afisam pivotul
cout /*<< "NR SORTAT ESTE: "*/ << pivot << /*endl*/ " ";
// gasim lista > pivot in vector
vector<int> greater; int l = 0;
for (int i = 0; i < n; i++)
if (v[i] >= pivot)
{
greater[l++] = v[i];
//cout << v[i] << "este mai mare decat: " << pivot << endl;
}
// sortam greater
sort(greater, l);
}
int main()
{
int n;
cin >> n;
vector<int> v;
for(int i = 0; i < n; i++)
cin >> v[i];
sort(v, n);
cin.close();
cout.close();
}