Posteado por: [p3ll3] | marzo 6, 2008

Ordenamiento burbuja bidireccional o CocktailSort

El ordenamiento de burbuja bidireccional (cocktail sort en inglés) es un algoritmo de ordenamiento que surge como una mejora del algoritmo ordenamiento de burbuja.

La manera de trabajar de este algoritmo es ir ordenando al mismo tiempo por los dos extremos del vector. De manera que tras la primera iteración, tanto el menor como el mayor elemento estarán en sus posiciones finales. De esta manera se reduce el número de comparaciones aunque la blod del algoritmo sigue siendo O(n²).

Fuente Wikipedia ^^^^^^

A continuación se muestra el código del algoritmo:

Desde mi punto de vista personal prefiero el sencillo ordenamiento burbuja.

/*
* CocktailSort.java
*
* Created on 5 de marzo de 2008, 09:38 PM
*/
/**
*
* @author p3ll3
*/


public class CocktailSort {
 //variables para ordenamientopublic static int izquierda,derecha,ultimo; 
// predefino arreglo 
public static int arreglo[] = {10,23,6,4,223,2,112,3,6,34};

public static void main(String[] args) { 
  
  izquierda = 1; 
  derecha = arreglo.length;
  ultimo = arreglo.length-1;

   do{  
         for(int i = arreglo.length-1;i > 0;i--){

         //Burbuja hacia la izquierda
       //Los valores menores van a la izquierda  
          if(arreglo[i-1] > arreglo[i]){  
            int aux = arreglo[i];
     // variable auxiliar para poder hacer 
    //intercambio de   
           arreglo[i] = arreglo[i-1];
   // posicion   
           arreglo[i-1] = aux;   ultimo = i;

  }     
}  
izquierda = ultimo+1; 
    for(int j=1;j  arreglo[j]){ 
              int aux = arreglo[j];
              arreglo[j] = arreglo[j-1]; 
             arreglo[j-1] = aux; 
              ultimo = j; 
         } 

    } 
    derecha = ultimo-1;

  }while(derecha >= izquierda);

    for(int i=0;i <= arreglo.length-1;i++){      
         System.out.println(arreglo[i]);
      }
  }
}

Espero que les sirva , ahi me cuentan…

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: