Cod sursa(job #1010911)

Utilizator bghimisFMI Ghimis Bogdan bghimis Data 15 octombrie 2013 21:21:15
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.11 kb
#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();
}