Estructura de datos. Desarrollo
Enviado por camilo andres carrasco olivares • 9 de Abril de 2018 • Apuntes • 976 Palabras (4 Páginas) • 186 Visitas
Colas
Camilo Carrasco
Estructura de datos
Instituto IACC
11/12/17
Desarrollo
- 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.
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 ".
";
echo "La letra que esta al frente de la cola principal es: ".$tarea2->peek().".
";
echo "La cola principal contiene: ".$tarea2->length()." letras.
";
echo "
";
$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.
";
} else {
echo "La letra ".$buscar." no esta en la cola pricipal.
";
}
echo "
";
$tarea2->vaciar();
var_dump($tarea2);
echo ".
";
$frente = $tarea2->peek();
if ($frente!=null){
echo "La letra al frente de la cola principal es: ".$frente.".
";
} else {
echo "No hay letras en la cola principal.
";
}
echo "\n
";
$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');
...