COLAS Estructuras de Datos
Enviado por Jonathan Baez • 13 de Julio de 2019 • Tarea • 3.742 Palabras (15 Páginas) • 196 Visitas
Control semana 4
COLAS
Estructuras de Datos
Instituto IACC
24-05-2019
Desarrollo
- Realice un ejemplo de cola en PHP que almacene solo números enteros. Este 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. (Utilice como guía el recurso adicional).
RESPUESTA:
Código en PHP
class cola {
//se crea la variable $cola que contiene el arreglo tipo cola
private $cola = array();
//funcion void para crear la cola
public function _contruct(){
$this -> cola = array();
}
//funcion que deja vacia la cola
public function vaciar_cola()
{
$this -> cola = array();
}
//funcion que busca un elemento en la cola
public function buscarelemento($elemento)
{
foreach($this->cola as $valor)
{
if($elemento === $valor)
{
return true;
}
}
return false;
}
//funcion para extraer el elemento tope de la cola
public function desencolar()
{
return array_shift($this -> cola);
}
//funcion que inserta un elemento al final de la cola
public function encolar($elemento)
{
$this -> cola[] = $elemento;
}
//funcion que devuelve el tamaño de la cola
public function length()
{
return count($this -> cola);
}
//funcion que imprime el elemento tope de la cola
public function peek()
{
return current($this -> cola);
}
}
//se crea variables y nueva cola
$size_cola = 40;
$size_min = 20;
$num_elementos = 0;
$elemento = 0;
$num_duplicado = true;
$cont_lleno = 0;
$cola = new cola($size_cola);
// Cola llena de forma aleatoria con valores enteros pares entre 1 y 100 sin duplicaciones de números con un tope de 20
while ($num_elementos < $size_min) {
if(($cola->length()) < ($size_cola)){
$elemento = rand(0,99)+1;
if ($elemento%2==0) {
for ($i=0;$i<=$num_elementos-1;$i++) {
if ($cola->buscarelemento($elemento)) {
$num_duplicado = false;
}
}
if ($num_duplicado) {
$cola -> encolar($elemento);
$num_elementos = $num_elementos + 1;
}
$num_duplicado = true;
}
}else{
$num_elementos = $num_elementos + 1;
$cont_lleno = $cont_lleno + 1;
}
}
if($cont_lleno > 0){
echo('
Límite máximo de '.$cola->length(). ' elementos, no se pueden insertar más elementos a la cola
');
echo('');
print_r($cola);
echo('');
}else{
echo('');
print_r($cola);
echo('');
}
- Luego de insertar en la cola los 20 elementos:
- Elimine 5 elementos y realice un ciclo que imprima los elementos restantes de la cola.
RESPUESTA:
Código PHP
Continuación del código anterior
echo('*****************************************************
');
echo('5 Elementos eliminados de la cola
');
//ciclo for para eliminar 5 elementos de la cola
...