ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

COLAS Estructuras de Datos


Enviado por   •  13 de Julio de 2019  •  Tareas  •  3.742 Palabras (15 Páginas)  •  158 Visitas

Página 1 de 15

Control semana 4

COLAS

Estructuras de Datos

Instituto IACC

24-05-2019


Desarrollo

  1. 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('

');

}

  1. Luego de insertar en la cola los 20 elementos:

 

  1. 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

...

Descargar como (para miembros actualizados)  txt (11.3 Kb)   pdf (170.9 Kb)   docx (48 Kb)  
Leer 14 páginas más »
Disponible sólo en Clubensayos.com