Академический Документы
Профессиональный Документы
Культура Документы
Estructura de datos
Instituto IACC
6 de mayo de 2018
Desarrollo
(95,6,88,32,598,63,796,45,1,158,31,86,59,701)
Realice un ejemplo en php que almacene dichos números, para lo cual considere lo
intermedio de la lista.
restantes de la lista.
Explique brevemente.
Para esta instrucción, cree un ciclo for con la iteración de 10 veces “i”
se ingresen los datos, por ejemplo, se puede indicar que se ingresen 100
c) Ejecute un ciclo para vaciar la lista eliminando uno a uno los elementos
$aux->proximo = $this->primero;
$this->primero = $aux;
}
self::$count++;
}
//funcion que elimina el nodo cuyo dato coincide con el valor del parametro
public function EliminarNodo($key)
{
$actual = $anterior = $this->primero;
while($actual->dato != $key) {
$anterior = $actual;
$actual = $actual->proximo;
}
if ($actual == $anterior) {
$this->primero = $actual->proximo;
}
$anterior->proximo = $actual->proximo;
self::$count--;
}
//funcion que recorre la lista desde el primer nodo hasta e ultimo e imprime el dato dentro del
nodo
public function ImprimirLista()
{
$elementos = [];
$actual = $this->primero;
while($actual != null) {
array_push($elementos, $actual->dato);
$actual = $actual->proximo;
}
$str = '';
foreach($elementos as $elemento)
{
$str .= $elemento . '->';
}
echo $str;
}
}
//Creamos la nueva
$lista = new ListaEnlazada();
//Inserción de datos de acuerdo al control N°5
$lista->InsertarPrimero(95);
$lista->InsertarUltimo(6);
$lista->InsertarUltimo(88);
$lista->InsertarUltimo(32);
$lista->InsertarUltimo(598);
$lista->InsertarUltimo(63);
$lista->InsertarUltimo(796);
$lista->InsertarUltimo(45);
$lista->InsertarUltimo(1);
$lista->InsertarUltimo(158);
$lista->InsertarUltimo(31);
$lista->InsertarUltimo(86);
$lista->InsertarUltimo(59);
$lista->InsertarUltimo(701);
$lista->ImprimirLista();
echo "\n";
echo 'Total de elementos dentro de la lista: '.$lista->ContarNodos();
echo "\n";
echo "\n";
//Instrucción 2.a Eliminar 3 elementos, uno al inicio, uno al final y uno en la posición de su
preferencia, y luego realice un ciclo que imprima los elementos restantes de la lista
// Eliminar el primer elemento
$lista->EliminarPrimero();
$lista->ImprimirLista();
echo "\n";
echo "Se ha eliminado el primer elemento de la lista","\n";
echo 'Total de elementos dentro de la lista: '.$lista->ContarNodos();
echo "\n";
echo "\n";
?>
Éxito #stdin #stdout 0.03s 23368KB
95->6->88->32->598->63->796->45->1->158->31->86->59->701->
Total de elementos dentro de la lista: 14
6->88->32->598->63->796->45->1->158->31->86->59->701->
Se ha eliminado el primer elemento de la lista
Total de elementos dentro de la lista: 13
6->88->32->598->63->796->45->1->158->31->86->59->
Se ha eliminado el último elemento de la lista
Total de elementos dentro de la lista: 12
6->88->32->598->63->45->1->158->31->86->59->
Se ha eliminado un elemento del centro de la lista
Total de elementos dentro de la lista: 11
6->88->32->598->63->45->1->158->31->86->59->0->1->2->3->4->5->6->7->8->9->
Se han insertado 10 de elementos en la lista
Total de elementos dentro de la lista: 21