Código PHP – Ordenamiento por Inserción Binaria


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 de Inserción Binaria:

<?php

    function insercionBinaria($A,$n)
    {
            for($i=1;$i<$n;$i++)
            {
                $aux = $A[$i];
                $izq=0;
                $der=$i-1;

                while($izq<=$der)
                {
                    $m=(($izq+$der)/2);
                    if ($aux<$A[$m])
                        $der=$m-1;
                    else
                        $izq=$m+1;
                }
                $j=$i-1;

                while($j>=$izq)
                {
                    $A[$j+1]=$A[$j];
                    $j=$j-1;
                }
                $A[$izq]=$aux;
            }

      return $A;
    }

    function main()
    {

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

        $VectorB=insercionBinaria($VectorA,sizeof($VectorA));

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

    }

    main();
?>
Anuncios

Código PHP – Ordenamiento Heapsort


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 Heapsort:

<?php

    function heapsort($A,$n)
    {

        for($k=$n-1;$k>=0;$k--)
        {
                for($i=1;$i<=$k;$i++)
                {
                        $item=$A[$i];
                        $j=$i/2;
                        while($j>0 && $A[$j]<$item)
                        {
                                $A[$i]=$A[$j];
                                $i=$j;
                                $j=$j/2;
                        }
                        $A[$i]=$item;
                }
                $temp=$A[0];
                $A[0]=$A[$k];
                $A[$k]=$temp;
        }

      return $A;
    }

    function main()
    {

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

        $VectorB=heapsort($VectorA,sizeof($VectorA));

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

    }

    main();
?>

Código PHP – Ordenamiento Burbuja


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 de la Burbuja:

<?php

    function burbuja($A,$n)
    {
        for($i=1;$i<$n;$i++)
        {
                for($j=0;$j<$n-$i;$j++)
                {
                        if($A[$j]>$A[$j+1])
                        {$k=$A[$j+1]; $A[$j+1]=$A[$j]; $A[$j]=$k;}
                }
        }

      return $A;
    }

    function main()
    {

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

        $VectorB=burbuja($VectorA,sizeof($VectorA));

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

    }

    main();
?>