Está en la página 1de 14

Colas

Camilo Carrasco

Estructura de datos

Instituto IACC

11/12/17
Desarrollo

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

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.

<?php

class tarea2 {

private $tarea2 = array();

public function __construct(){

$this->tarea2 = array();

public function vaciar()

$this->tarea2 = array();

public function buscarelemento($elemento)

{
foreach($this->tarea2 as $valor)

if($elemento === $valor)

return true;

return false;

public function eliminar()

return array_shift($this->tarea2);

public function agregar($elemento)

$this->tarea2[] = $elemento;

public function length()

return count($this->tarea2);

}
public function peek()

return current($this->tarea2);

$tarea2 = new tarea2();

$tarea2->agregar('A');

$tarea2->agregar('B');

$tarea2->agregar('C');

$tarea2->agregar('D');

$tarea2->agregar('E');

$tarea2->agregar('F');

$tarea2->agregar('G');

$tarea2->agregar('H');

$tarea2->agregar('I');

$tarea2->agregar('J');

$tarea2->agregar('K');

$tarea2->agregar('L');

$tarea2->agregar('M');

$tarea2->agregar('N');
$tarea2->agregar('O');

$tarea2->agregar('P');

$tarea2->agregar('Q');

$tarea2->agregar('R');

$tarea2->agregar('S');

$tarea2->agregar('T');

$tarea2->agregar('U');

$tarea2->agregar('V');

$tarea2->agregar('W');

$tarea2->agregar('X');

$tarea2->agregar('Y');

$tarea2->agregar('Z');

var_dump($tarea2);

echo ".<br><br>";

echo "La letra que esta al frente de la cola principal es: ".$tarea2->peek().".<br><br>";

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

echo " <br>";

$tarea2->eliminar('A');

$tarea2->eliminar('B');

$tarea2->eliminar('C');

$tarea2->eliminar('D');
$tarea2->eliminar('E');

$tarea2->eliminar('F');

$tarea2->eliminar('G');

$tarea2->eliminar('H');

$tarea2->eliminar('I');

$tarea2->eliminar('J');

$tarea2->eliminar('K');

$tarea2->eliminar('L');

$tarea2->eliminar('M');

$tarea2->eliminar('N');

$tarea2->eliminar('O');

$tarea2->eliminar('P');

$tarea2->eliminar('Q');

$tarea2->eliminar('R');

$tarea2->eliminar('S');

$tarea2->eliminar('T');

$tarea2->eliminar('U');

$tarea2->eliminar('V');

$tarea2->eliminar('W');

$tarea2->eliminar('X');

$tarea2->eliminar('Y');

$tarea2->eliminar('Z');
$buscar = 'A';

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

if ($resultado===true){

echo "La letra ".$buscar." esta en la cola principal.<br><br>";

} else {

echo "La letra ".$buscar." no esta en la cola pricipal.<br><br>";

echo " <br>";

$tarea2->vaciar();

var_dump($tarea2);

echo ".<br><br>";

$frente = $tarea2->peek();

if ($frente!=null){

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

} else {

echo "No hay letras en la cola principal.<br><br>";

echo "\n <br>";

$tarea2colaA = new tarea2();


$tarea2colaA->agregar('A');

$tarea2colaA->agregar('C');

$tarea2colaA->agregar('E');

$tarea2colaA->agregar('G');

$tarea2colaA->agregar('I');

$tarea2colaA->agregar('K');

$tarea2colaA->agregar('M');

$tarea2colaA->agregar('O');

$tarea2colaA->agregar('Q');

$tarea2colaA->agregar('S');

$tarea2colaA->agregar('U');

$tarea2colaA->agregar('W');

$tarea2colaA->agregar('Y');

var_dump($tarea2colaA);

echo ".<br><br>";

echo "La letra al frente de la cola A es: ".$tarea2colaA->peek().".<br><br>";

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

echo " <br>";

print_r($tarea2colaA);

$buscar = 'A';

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

if ($resultado===true){
echo "La letra ".$buscar." esta dentro de la cola A.<br><br>";

} else {

echo "La letra ".$buscar." no esta dentro de la cola A.<br><br>";

echo " <br>";

$tareacolaB = new tarea2();

$tareacolaB->agregar('B');

$tareacolaB->agregar('D');

$tareacolaB->agregar('F');

$tareacolaB->agregar('H');

$tareacolaB->agregar('J');

$tareacolaB->agregar('L');

$tareacolaB->agregar('N');

$tareacolaB->agregar('P');

$tareacolaB->agregar('R');

$tareacolaB->agregar('T');

$tareacolaB->agregar('V');

$tareacolaB->agregar('X');

$tareacolaB->agregar('Z');

var_dump($tareacolaB);
echo ".<br><br>";

echo "La letra al frente de la cola B es: ".$tareacolaB->peek().".<br><br>";

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

echo " <br>";

print_r($tareacolaB);

$buscar = 'B';

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

if ($resultado===true){

echo "La letra ".$buscar." esta dentro de la cola B.<br><br>";

} else {

echo "La letra ".$buscar." esta dentro de la cola B.<br><br>";

}
2- ) Cree un programa en PHP para crear una cola que contenga 20 números mayores a 10 y

realice un ciclo donde verifique uno a uno si es múltiplo de 3. Si es así inserte dicho

número en una pila. Imprima la pila al final de su ejecución.

<?php

class multiplo3 {

private $multiplo3 = array();

public function __construct(){

$this->multiplo3 = array();

public function vaciar()

$this->multiplo3 = array();

public function busca($numero)

foreach($this->multiplo3 as $dato)

if($numero === $dato)

{
return true;

return false;

public function desencolar()

return array_shift($this->multiplo3);

public function encolar($numero)

$this->multiplo3[] = $numero;

public function length()

return count($this->multiplo3);

public function peek()

return current($this->multiplo3);
}

$multiplo3 = new multiplo3();

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

297, 300,

963);

foreach($multiplo3 as $value)

if($value%3==0)

echo "El numero ". $value." pertenece al multiplo de 3 .<br>";

}
Bibliografía

1- Material de apoyo IACC

También podría gustarte