Mostrando entradas con la etiqueta burbuja. Mostrar todas las entradas
Mostrando entradas con la etiqueta burbuja. Mostrar todas las entradas

martes, 12 de febrero de 2013

Ordenar un vector con std::sort() en c++


Este es un ejemplo rapido:


#include <vector>
#include <string>
#include <iostream>
#include <algorithm>
#include <stdio.h>
using std::vector;

struct Ovni{
 Ovni(int ci){
  this->ci=ci;
 }
 int ci;
};

// Función que indicará si un ovni es menor que otro (modificar a su gusto)
bool menorque(const Ovni& o1,const Ovni& o2){
 return o1.ci<o2.ci;
}
int main (int argc, char *argv[]){
 vector<Ovni> vectorDeOvnis;
 vectorDeOvnis.push_back(Ovni(1));
 vectorDeOvnis.push_back(Ovni(3));
 vectorDeOvnis.push_back(Ovni(2));
 vectorDeOvnis.push_back(Ovni(0));

 printf("Antes\n");

 for (uint i = 0; i < vectorDeOvnis.size(); ++i) {
  printf("[ %d ]",vectorDeOvnis[i].ci);
 }
 // Ordena según la regla "menorque"
 std::sort(vectorDeOvnis.begin(),vectorDeOvnis.end(), &menorque);

 printf("\nDespues\n");
 for (uint i = 0; i < vectorDeOvnis.size(); ++i) {
  printf("[ %d ]",vectorDeOvnis[i].ci);
 }
}