Sei sulla pagina 1di 10

Colas

Anthuan Francisco Pizarro olmos

Estructura de datos

Instituto IACC

05 de octubre de 2018
Desarrollo

1) Realice un ejemplo de cola en PHP que almacene solo números enteros. Esta debe tener

una longitud máxima de 40 elementos y debe contener inicialmente un mínimo de 20, para

lo cual debe verificar además si el número a insertar es par y proceder a insertarlo.

R.-

<?php
class cola {
// variable $cola que contiene el arreglo tipo cola
private $cola = array();
//funcion void para crear la cola
public function __construct(){
$this->cola = array();
}
//funcion que deja vacia la cola
public function vaciar()
{
$this->cola = array();
}
//funcion que extrae el elemento del frente de la cola
public function desencolar()
{
return array_shift($this->cola);
}
//funcion 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();
$longitud = 40;
//Se insertan los elementos dentro de la 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');
var_dump($cola);
//se imprime el elemento al frente de la cola
echo "El elemento al frente de la cola es: ".$cola->peek().".<br><br>";
//Se imprime el tamaño de la cola luego de insertar los elementos
echo "La cola contiene: ".$cola->length()." elementos.<br><br>";

Ejecución en PhpDesigner;
Verificación de pares;

//Funcion para encontrar numeros impares dentro de la cola


echo "Los sigientes numeros son impares y no seran incluidos en la cola<br>";

$num=1;

while ($num<=20) {
if( ( $num % 2 ) != 0 ) {
print $num;
}

if ($num<=19) {
print "-";
}

$num++;
}
Ejecución en PhpDesigner;

Inserción de pares;

//vaciamos la cola
$cola->vaciar();
//agregamos los numeros pares
$cola->encolar(2);
$cola->encolar(4);
$cola->encolar(6);
$cola->encolar(8);
$cola->encolar(10);
$cola->encolar(12);
$cola->encolar(14);
$cola->encolar(16);
$cola->encolar(18);
$cola->encolar(20);

var_dump($cola);
//se imprime el elemento al frente de la cola
echo "El elemento al frente de la cola es: ".$cola->peek().".<br><br>";
//Se imprime el tamaño de la cola luego de insertar los elementos
echo "La cola contiene: ".$cola->length()." elementos.<br><br>";
Ejecución en PhpDesigner;

2) Luego de insertar en la cola los 10 elementos:

a) Elimine 5 elementos y realice un ciclo que imprima los elementos restantes de la cola.

b) Intente insertar 15 elementos más. ¿Qué pasa al intentar insertar estos 15 elementos?

Comente brevemente.

c) Ejecute un ciclo para vaciar la cola.

R.- Eliminación de elementos;

//Eliminamos 5 elementos
echo "Se eliminan 5 elementos de la cola";

$cola->desencolar();
$cola->desencolar();
$cola->desencolar();
$cola->desencolar();
$cola->desencolar();
var_dump($cola);
//se imprime el elemento al frente de la cola
echo "El elemento al frente de la cola es: ".$cola->peek().".<br><br>";
//Se imprime el tamaño de la cola luego de insertar los elementos
echo "La cola contiene ahora: ".$cola->length()." elementos.<br><br>";

Ejecución en PhpDesigner;

Inserción de 15 nuevos elementos;

//agregamos 15 nuevos elementos


echo "Se insertan 15 elementos mas";

$cola->encolar('21');
$cola->encolar('22');
$cola->encolar('23');
$cola->encolar('24');
$cola->encolar('25');
$cola->encolar('26');
$cola->encolar('27');
$cola->encolar('28');
$cola->encolar('29');
$cola->encolar('30');
$cola->encolar('31');
$cola->encolar('32');
$cola->encolar('33');
$cola->encolar('34');
$cola->encolar('35');
var_dump($cola);

//se imprime el elemento al frente de la cola


echo "El elemento al frente de la cola es: ".$cola->peek().".<br><br>";
//Se imprime el tamano de la cola luego de insertar los elementos
echo "La cola contiene ahora: ".$cola->length()." elementos.<br><br>";

***Al agregar los 15 nuevos elementos, estos quedaron después de los elementos que se
agregaron en un principio demostrando así su característica FIFO.
Vaciado final de la cola;

$cola->vaciar();
var_dump($cola);

//se imprime el elemento al frente de la cola


echo "El elemento al frente de la cola es: ".$cola->peek().".<br><br>";
//Se imprime el tamaño de la cola luego de insertar los elementos
echo "La cola contiene ahora: ".$cola->length()." elementos.<br><br>";
?>

Ejecución en PhpDesigner;
Bibliografía

Contenidos para la semana 4 – Estructura de datos – IACC 2018

Contenidos adicionales para la semana 4 – Estructura de datos – IACC 2018

Potrebbero piacerti anche