Está en la página 1de 15

Colas

Eduardo Andrs Espinoza Muoz

Estructuras de Datos

Instituto IACC

16 de Octubre del 2017


INSTRUCCIONES: lea atentamente y luego responda.

1) Realizar un programa en PHP que cree una cola donde se almacenen las letras del

abecedario. Luego, extraiga todos sus elementos uno a uno, sin eliminarlos, sino que se

almacenarn 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 vaca. Imprima ambas

colas al final del programa.

2) Cree un programa en PHP para crear una cola que contenga 20 nmeros mayores a 10 y

realice un ciclo donde verifique uno a uno si es mltiplo de 3. Si es as inserte dicho nmero

en una pila. Imprima la pila al final de su ejecucin.


Desarrollo

1.

<?php

class cola {

// variable $cola que contiene el arreglo tipo cola

private $cola = array();

//funcin void para crear la cola

public function __construct(){

$this->cola = array();

//funcin que deja vacia la cola

public function vaciar()

$this->cola = array();

//funcin que busca un valor dentro de la cola

public function buscarelemento($elemento)

foreach($this->cola as $valor)

if($elemento === $valor)

return true;
}

return false;

//funcin que extrae el elemento del frente de la cola

public function desencolar()

return array_shift($this->cola);

//funcin que inserta el elemento al final de la cola

public function encolar($elemento)

$this->cola[] = $elemento;

//Devuelve el tamao de la cola

public function length()

return count($this->cola);

//Imprime el elemento ubicado en el frente de la cola pero sin removerlo

public function peek()

return current($this->cola);
}

//Creamos la nueva cola

$cola = new cola();

//Se insertan los elementos dentro de la cola

$cola->encolar('A');

$cola->encolar('B');

$cola->encolar('C');

$cola->encolar('D');

$cola->encolar('E');

$cola->encolar('F');

$cola->encolar('G');

$cola->encolar('H');

$cola->encolar('I');

$cola->encolar('J');

$cola->encolar('K');

$cola->encolar('L');

$cola->encolar('M');

$cola->encolar('N');

$cola->encolar('O');

$cola->encolar('P');

$cola->encolar('Q');

$cola->encolar('R');
$cola->encolar('S');

$cola->encolar('T');

$cola->encolar('U');

$cola->encolar('V');

$cola->encolar('W');

$cola->encolar('X');

$cola->encolar('Y');

$cola->encolar('Z');

var_dump($cola);

echo ".<br><br>";

//Se imprime el elemento al frente de la cola

echo "El elemento al frente de la cola principal es: ".$cola->peek().".<br><br>";

//Se imprime el tamao de la cola luego de insertar los elementos

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

echo ":::::::::::::::<br>";

//Se eliminan elementos de la cola

$cola->desencolar('A');

$cola->desencolar('B');

$cola->desencolar('C');

$cola->desencolar('D');

$cola->desencolar('E');

$cola->desencolar('F');

$cola->desencolar('G');

$cola->desencolar('H');
$cola->desencolar('I');

$cola->desencolar('J');

$cola->desencolar('K');

$cola->desencolar('L');

$cola->desencolar('M');

$cola->desencolar('N');

$cola->desencolar('O');

$cola->desencolar('P');

$cola->desencolar('Q');

$cola->desencolar('R');

$cola->desencolar('S');

$cola->desencolar('T');

$cola->desencolar('U');

$cola->desencolar('V');

$cola->desencolar('W');

$cola->desencolar('X');

$cola->desencolar('Y');

$cola->desencolar('Z');

//Ahora buscamos un elemento dentro de la cola e imprimimos mensaje

$buscar = 'A';

$resultado = $cola->buscarelemento($buscar);

if ($resultado===true){

echo "El elemento ".$buscar." si se encuentra dentro de la cola principal.<br><br>";

} else {
echo "El elemento ".$buscar." no se encuentra dentro de la cola pricipal.<br><br>";

echo "::::::::::::::<br>";

//Ahora Vaciamos la cola

$cola->vaciar();

var_dump($cola);

echo ".<br><br>";

$frente = $cola->peek();

if ($frente!=null){

//Se imprime el elemento al frente de la cola

echo "El elemento al frente de la cola principal es: ".$frente.".<br><br>";

} else {

//Se imprime mensaje de cola vacia

echo "No existen valores dentro de la cola principal.<br><br>";

echo "\n:::::::::::::::<br>";

//Creamos la nueva cola

$colaA = new cola();

//Ahora insertamos un nuevo elemento

$colaA->encolar('A');

$colaA->encolar('C');

$colaA->encolar('E');

$colaA->encolar('G');

$colaA->encolar('I');
$colaA->encolar('K');

$colaA->encolar('M');

$colaA->encolar('O');

$colaA->encolar('Q');

$colaA->encolar('S');

$colaA->encolar('U');

$colaA->encolar('W');

$colaA->encolar('Y');

var_dump($colaA);

echo ".<br><br>";

//Se imprime el elemento al frente de la cola

echo "El elemento al frente de la cola A es: ".$colaA->peek().".<br><br>";

//Se imprime el nuevo tamano de la cola

echo "La cola A ahora contiene: ".$colaA->length()." elementos.<br><br>";

echo ":::::::::::::::<br>";

print_r($colaA);

$buscar = 'A';

$resultado = $colaA->buscarelemento($buscar);

if ($resultado===true){

echo "El elemento ".$buscar." si se encuentra dentro de la cola A.<br><br>";

} else {

echo "El elemento ".$buscar." no se encuentra dentro de la cola A.<br><br>";

echo ":::::::::::::::<br>";
//Creamos la nueva cola

$colaB = new cola();

//Ahora insertamos un nuevo elemento

$colaB->encolar('B');

$colaB->encolar('D');

$colaB->encolar('F');

$colaB->encolar('H');

$colaB->encolar('J');

$colaB->encolar('L');

$colaB->encolar('N');

$colaB->encolar('P');

$colaB->encolar('R');

$colaB->encolar('T');

$colaB->encolar('V');

$colaB->encolar('X');

$colaB->encolar('Z');

var_dump($colaB);

echo ".<br><br>";

//Se imprime el elemento al frente de la cola

echo "El elemento al frente de la cola B es: ".$colaB->peek().".<br><br>";

//Se imprime el nuevo tamao de la cola

echo "La cola B ahora contiene: ".$colaB->length()." elementos.<br><br>";

echo ":::::::::::::::<br>";
print_r($colaB);

$buscar = 'B';

$resultado = $colaB->buscarelemento($buscar);

if ($resultado===true){

echo "El elemento ".$buscar." si se encuentra dentro de la cola B.<br><br>";

} else {

echo "El elemento ".$buscar." no se encuentra dentro de la cola B.<br><br>";

echo ":::::::::::::::<br>";

?>
2.

<?php

class cola {

// variable $cola que contiene el arreglo tipo cola

private $cola = array();

//funcin void para crear la cola

public function __construct(){

$this->cola = array();

//funcin que deja vaca la cola

public function vaciar()

$this->cola = array();

//funcin que busca un valor dentro de la cola

public function buscarelemento($elemento)

foreach($this->cola as $valor)

if($elemento === $valor)

return true;

}
return false;

//funcin que extrae el elemento del frente de la cola

public function desencolar()

return array_shift($this->cola);

//funcin que inserta el elemento al final de la cola

public function encolar($elemento)

$this->cola[] = $elemento;

//Devuelve el tamano de la cola

public function length()

return count($this->cola);

//Imprime el elemento ubicado en el frente de la cola pero sin removerlo

public function peek()

return current($this->cola);

//Creamos la nueva cola


$cola = new cola();

//Se insertan los elementos dentro de la nueva cola

$cola= array(10, 20, 21, 60, 61, 75, 77, 80, 84, 97, 99, 101, 108, 200, 210, 270, 295, 297, 300,

963);

foreach($cola as $value)

if($value%3==0)

echo $value." es multiplo de 3 .<br>";

?>
Bibliografa

IACC (2016). Colas. Estructuras de Datos. Semana 4.

Recursos Adicionales Semana 4.

http://phptester.net/.

También podría gustarte