Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Metodo ordenacion de la Burbuja
- #include <iostream>
- #include <vector>
- using namespace std;
- /*----------------------------------------------------------------------*/
- /*-------------------------Declaraciones--------------------------------*/
- class Burbuja{
- public:
- Burbuja(vector<int> &datos);
- virtual void ordena();
- private:
- vector <int> & matriz;
- bool mayor (int valorA,int valorB);
- };
- /*-------------------------Definiciones --------------------------------*/
- //Constructor de la clase ,inicializa la matriz
- Burbuja::Burbuja (vector<int> &datos):matriz(datos){}
- /*----------------------------------------------------------------------*/
- bool Burbuja::mayor (int valorA,int valorB){return valorA>valorB;}//puede ser <
- /*----------------------------------------------------------------------*/
- void Burbuja::ordena(){
- for (size_t x=0;x<matriz.size()-1;x++){
- for (size_t y=0;y<(matriz.size()-x-1) ;y++){//disminuye en funcion de x
- if (mayor( matriz[y] , matriz[y+1] ) ){//comparacion clave
- swap(matriz[y],matriz[y+1]);//funcion de vector , swap
- }
- }
- }
- }
- /*----------------------------------------------------------------------*/
- /*----------------------------------------------------------------------*/
- int main (){
- vector <int> matrizDeTest{3,4,2,1,6,5,7,8,1,1};//Matriz de prueba
- Burbuja *instanciaQs= new Burbuja(matrizDeTest);//Crea una instancia de la clase inicializando
- for (auto i:matrizDeTest){cout <<i<<" ";}//Imprime datos de la matriz antes de ordenar
- cout <<endl;
- instanciaQs->ordena();//Ordena la matriz
- for (auto i:matrizDeTest){cout <<i<<" ";}//Imprime datos de la matriz ordenada
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement