Vous êtes sur la page 1sur 5

Antes de responder la pregunta, es necesario describir las características de los tipos de estructuras

de datos listas, pilas y colas.

Listas

Son nodos enlazados, que forman una cadena. En el caso de las listas es posible implementarlas

utilizando otras estructuras de datos, en este caso se pude implementar listas a través de arreglos.

Pilas

Las pilas pueden implementarse utilizando arreglos. Las pilas poseen las siguientes operaciones

básicas:

 Count: cantidad de ítems existentes en la pila.

 Print: imprime los ítems existentes.

 Push: permite agregar elementos en la parte superior del último ítem.

 Pop: saca de la pila el primer elemento.

 IsEmpty: valor booleano que indica si la pila está vacía con true o false.

 Peek: retorna el valor del primer elemento de la pila.

Colas

Al igual que las colas que realizan las personas en los bancos, las estructuras de datos llamadas colas

usan memoria del tipo FIFO .Las colas pueden implementarse utilizando arreglos.

 Count: cantidad de ítems existentes en la cola.

 Print: imprime los ítems existentes.

 Add: permite agregar elementos en la parte final de la cola.


 Remove: saca de la cola el primer elemento.

 IsEmpty: valor booleano que indica si la cola está vacía con true o false.

Una vez expuesto los conocimientos previos sobre listas, pilas y colas, la forma eficiente de construir

la función Count a través de los elementos existentes en una pila, permitirá contar datos más

rápidamente consiguiendo además escribir una menor cantidad de código fuente.

La función Count, permite contar datos que cumplan ciertos requisitos, pero también es muy

eficiente cuando se necesita buscar si existe algún dato en particular dentro de la Base de Datos.

En el siguiente código se adjunta el código en lenguaje PHP para crear una pila, adicionar elementos

en este caso marcas de vehículos con la operación Push, luego utilizamos una función donde se

muestra la operación Count de forma eficiente, para obtener la cantidad de marcas agregadas en la

pila.

<?php

class Pila{

public function __construct(){

$this->Pila = array(); // tratar pila como arreglo.

public function push($elemento){

$this->Pila[] = $elemento; // agregar parámetro a pila.


echo '- Marca ‘. $elemento .' agregada a pila.<br/>';

public function contador (){

return count($this->Pila); // contar elementos en pila.

// instancia a clase Pila.

$objMarcas = new Pila();

// ingreso de marcas a pila.

$objMarcas->push('Chevrolet');

$objMarcas->push('Ford');

$objMarcas->push('Dodge');

// Obtener cantidad de elementos ingresados.

echo '<p><b>Cantidad de elementos en pila: '. $objMarcas->contador ().’</b></p>';

?>
2. La empresa ferroviaria ABC-Ferrocarriles está en proceso de remodelación de algunos de sus
terminales de trenes y necesita mover un tren completo (locomotora y 4 vagones) desde el
terminal A al terminal C, como muestra la figura.

La dificultad en esta operación es que el tren debe quedar en el terminal C en el mismo orden
del que salió del terminal A, frente a esta situación se le ha pedido a Ud. que ayude con una
estrategia para cumplir con el objetivo. Entonces, ¿qué tipo de estructura de datos utilizaría
para resolver el problema? Genere la estrategia para mover el tren y escriba cómo lo haría
(puede usar el terminal B para apoyarse).

Vous aimerez peut-être aussi