Cod sursa(job #1018124)

Utilizator bghimisFMI Ghimis Bogdan bghimis Data 28 octombrie 2013 21:49:52
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.03 kb
#include <fstream>
#include <vector>
using namespace std;

vector<int> lesserThen(const vector<int>& v, int el)
{
  vector<int> less;
  for (vector<int>::const_iterator i = v.begin(); i != v.end(); i++)
    if (*i < el)
      less.push_back(*i);

  return less;
}

vector<int> greaterThen(const vector<int>& v, int el)
{
  vector<int> great;
  for (vector<int>::const_iterator i = v.begin(); i != v.end(); i++)
    if (*i > el)
      great.push_back(*i);

  return great;
}

void sort(vector<int> v)
{
  if (v.size() == 0)
    return;

  int pivot = v[0];

  vector<int> less = lesserThen(v, pivot);
  sort(less);

  if (pivot != 0)
    cout << pivot << " ";

  vector<int> great = greaterThen(v, pivot);
  sort(great);
} 

int main()
{   
  ifstream cin("algsort.in");
  ofstream cout("algsort.out");
  
  int n; cin >> n;

  vector<int> v(n);
  for(int i = 0; i < n; i++)
    {
      int x; cin >> x;
      v.push_back(x);
    }

  sort(v);
    
  cin.close();
  cout.close();

  return 0;
}