Entradas

Mostrando entradas de agosto, 2015

Mezcla dos vectores ordendos en un tercero

Imagen
Algoritmo de mezcla de dos vectores ordenados void mezcla( std::vector< int > a, std::vector< int > b, std::vector< int > c ) {     const int MAX = a.size() + b.size();     int i, j = 0;     /// i -> A = { 5, 7, 9  }     /// j -> B = { 4, 6, 11 }     while( c.size() <= MAX )     {         /// agrega al arreglo auxiliar el menor de los dos valores         c.push_back( a[ i ] > b[ j ] ? b[ j ] : a[ i ] );         /// esta parte controla el desplazamiento de los indices         /// para realizar el apareo de forma correcta         if( a[ i ] > b[ j ] )         {             if( j < b.size()...

Dos populares algoritmos de ordenamiento de vectores, de rendimiento cuadratico( son lentos )

#include <iostream> using namespace std; void printArray( int *arr, int len ) {     for( int i = 0; i < len; i++ )         std::cout << arr[ i ] << std::endl; } void interchange( int &a, int &b ) {     int aux = a;     a = b;     b = aux; } // algoritmo de la burbuja mejorado void improvedBubbleSort( int *arr, int len ) {     bool no_intercambio;     int i = 1;     do     {         no_intercambio = true;         for( int j = i; j < len - 1; j++ )             if( arr[ j ] < arr[ j + 1 ] )             {                 interchange( arr[ j ], arr[ j + ...