The::Beastieux

Sangre de Bestia + Corazón de Pingüino | Un blog acerca de Linux, *BSD, Open Source, Software Libre, Programación …

Código PHP – Ordenamiento Quicksort


El siguiente post pertenece al topic: Métodos de Ordenamiento codificados en PHP.

El código realiza un Ordenamiento de datos numéricos haciendo uso del Método Quicksort:

<?php
    function quicksort($A, $izq, $der )
    {
        $i = $izq;
        $j = $der;
        $x = $A[ ($izq + $der) /2 ];
	do{
		while( ($A[$i] < $x) && ($j <= $der) )
		{
			$i++;
		}

		while( ($x < $A[$j]) && ($j > $izq) )
		{
			$j--;
		}

		if( $i <= $j )
		{
			$aux = $A[$i]; $A[$i] = $A[$j]; $A[$j] = $aux;
			$i++;  $j--;
		}

	}while( $i <= $j );

	if( $izq < $j )
		quicksort( $A, $izq, $j );
	if( $i < $der )
		quicksort( $A, $i, $der );

        return $A;
    }

    function main()
    {

        $VectorA=array(5,4,3,2,1);

        $VectorB=quicksort($VectorA,0,sizeof($VectorA)-1);

        for($i=0;$i<sizeof($VectorB);$i++)
            echo $VectorB[$i]."\n";

    }

    main();
?>

4 Respuestas a “Código PHP – Ordenamiento Quicksort

  1. Diego Barrios Olmos octubre 31, 2013 en 7:21 pm

    Este método no funciona con arreglos desordenados, solo ordena siempre y cuando el número de elemento sean 5-6 y estén en secuencia inversa.

  2. artsernicoo noviembre 15, 2012 en 8:31 pm

    por que no funciona :P

  3. nexttecblogsadmon noviembre 13, 2012 en 6:44 pm

    Disculpa, intento hacer un ordenamiento de números aleatorios, ya saque los números, ahora solo me falta ordenarlos, ¿Qué puedo hcaer?

  4. jony marzo 19, 2012 en 11:48 pm

    no funciona el algoritmo, si el array contiene, en este orden, {5,6,4,3,2,1} imprime en pantalla {1,2,3,4,6,5}

No te quedes callado. Pregunta, Comenta, Comparte, Sígueme, Suscríbete, Déjame tu opinión... Soy Beastieux Zeroo...

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

A %d blogueros les gusta esto: