Vous êtes sur la page 1sur 14

ESTRUCTURA DE DATOS

COLAS
JAIME RADICH VASQUÉZ
IACC
30/04/2018
1) Realizar un programa en PHP que cree una cola donde se almacenen los
números del 1 al 28. Luego, extraiga todos sus elementos uno a uno, sin
eliminarlos, sino que se almacenarán en colas distintas de manera desigual, es
decir, se extrae un elemento de la cola principal y se inserta en la cola A, luego se
extrae otro elemento de la cola principal y se inserta en la cola B, y así hasta que la
cola principal se encuentre vacía. Imprima ambas colas al final del programa.

COLA CON LOS NUMEROS DEL 1 AL 28

<?php
class cola{
private $cola=array();
public function _construct(){
$this->cola = array();
}

public function vaciar()


{
$this->cola = array();
}

public function desencolar()

return array_shift($this->cola);
}

public function encolar($elemento)

{
$this->cola[] = $elemento;
}

public function length()

{
return count($this->cola);
}
public function peek()
{
return current($this->cola);
}

$cola=new cola();

$cola->encolar(1);
$cola->encolar(2);
$cola->encolar(3);
$cola->encolar(4);
$cola->encolar(5);
$cola->encolar(6);
$cola->encolar(7);
$cola->encolar(8);
$cola->encolar(9);
$cola->encolar(10);
$cola->encolar(11);
$cola->encolar(12);
$cola->encolar(13);
$cola->encolar(14);
$cola->encolar(15);
$cola->encolar(16);
$cola->encolar(17);
$cola->encolar(18);
$cola->encolar(19);
$cola->encolar(20);
$cola->encolar(21);
$cola->encolar(22);
$cola->encolar(23);
$cola->encolar(24);
$cola->encolar(25);
$cola->encolar(26);
$cola->encolar(27);
$cola->encolar(28);

var_dump($cola);

echo"La cola tiene: ".$cola->length(). "elementos.<br><br>";


echo"<br>";

$cola->desencolar(1);
$cola->desencolar(2);
$cola->desencolar(3);
$cola->desencolar(4);
$cola->desencolar(5);
$cola->desencolar(6);
$cola->desencolar(7);
$cola->desencolar(8);
$cola->desencolar(9);
$cola->desencolar(10);
$cola->desencolar(11);
$cola->desencolar(12);
$cola->desencolar(13);
$cola->desencolar(14);
$cola->desencolar(15);
$cola->desencolar(16);
$cola->desencolar(17);
$cola->desencolar(18);
$cola->desencolar(19);
$cola->desencolar(20);
$cola->desencolar(21);
$cola->desencolar(22);
$cola->desencolar(23);
$cola->desencolar(24);
$cola->desencolar(25);
$cola->desencolar(26);
$cola->desencolar(27);
$cola->desencolar(28);

$cola->vaciar();
var_dump($cola);
echo"<br><br>";

$frente =$cola->peek();

if($frente!=null){

echo"El numero al frente de cola es: ".$frente."<br><br>";


}
else
{

echo"cola sin valores.<br><br>";

echo"\n <br>";

$mediaco1=new cola();
$mediaco1->encolar(1);
$mediaco1->encolar(2);
$mediaco1->encolar(3);
$mediaco1->encolar(4);
$mediaco1->encolar(5);
$mediaco1->encolar(6);
$mediaco1->encolar(7);
$mediaco1->encolar(8);
$mediaco1->encolar(9);
$mediaco1->encolar(10);
$mediaco1->encolar(11);
$mediaco1->encolar(12);
$mediaco1->encolar(13);
$mediaco1->encolar(14);

var_dump($mediaco1);
echo"La cola 1 tiene: ".$mediaco1->length()."elementos.<br><br>";
echo" <br>";

print_r($mediaco1);

$mediaco2=new cola();
$mediaco2->encolar(15);
$mediaco2->encolar(16);
$mediaco2->encolar(17);
$mediaco2->encolar(18);
$mediaco2->encolar(19);
$mediaco2->encolar(20);
$mediaco2->encolar(21);
$mediaco2->encolar(22);
$mediaco2->encolar(23);
$mediaco2->encolar(24);
$mediaco2->encolar(25);
$mediaco2->encolar(26);
$mediaco2->encolar(27);
$mediaco2->encolar(28);

var_dump($mediaco2);

echo"La cola 2 tiene: ".$mediaco2->length()."elementos.<br><br>";


echo" <br>";
print_r($mediaco2);
2) Cree un programa en PHP para crear una cola que contenga 10 números
menores a 20 y realice un ciclo donde verifique uno a uno si es múltiplo de 5. Si es
así inserte dicho número en una pila. Imprima la pila al final de su ejecución.

<?php
class cola{
private $cola=array();
public function __construct(){
$this->cola=array();
}

public function vaciar()

$this->cola=array();

}
public function buscarelemento($elemento)

foreach($this->cola as $valor)
{
if($elemento===$valor)
{
return true;
}
}

return false;

public function desencolar()

{
return array_shift($this->cola);
}

public function encolar($elemento)

$this->cola[]=$elemento;

}
public function length()

{
return count($this->cola);
}

public function peek()

{
return current($this->cola);
}

$cola=new cola();

$cola= array(1, 2, 5, 7, 8, 10, 15, 17, 18, 19);

foreach($cola as $valor)

if($valor%5==0)

echo $valor." Multiplo de 5. ";

}
?>
BIBLIOGRAFIA

DOCUMENTOS Y MATERIAL DE APOYO IACC (2018).


http://php.net/manual/es/spl.datastructures.php
http://www.lcc.uma.es/~lopez/modular/tads/pilas_colas.pdf
http://apontejuanunefa.blogspot.cl/2012/06/estructuras-dinamicas-de-datos.html
http://www.calcifer.org/documentos/librognome/glib-lists-queues.html