Professional Documents
Culture Documents
Estructuras de Datos
Instituto IACC
28 de Octubre de 2018
INSTRUCCIONES:
(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 siguiente: si el
número es impar, debe ser insertado al inicio y si es par, insértelo en el intermedio de la lista.
a) Elimine 3 elementos: uno al inicio, uno al final y uno en la posición de su preferencia, y luego
c) Ejecute un ciclo para vaciar la lista eliminando uno a uno los elementos (sin utilizar la función
DESARROLLO:
<?php
class Nodo
public $dato;
public $proximo;
$this->dato = $elemento;
$this->proximo = null;
}
class ListaEnlazada
return self::$count;
$this->proximo = null;
self::$count++;
if ($this->primero == null) {
} else {
$aux->proximo = $this->primero;
$this->primero = $aux;
self::$count++;
} else {
$actual = $this->primero;
$actual = $actual->proximo;
self::$count++;
if($key == 0){
$this->InsertarPrimero($elemento);
else{
$actual = $this->primero;
$anterior = $this->primero;
for($i=0;$i<$key;$i++)
$anterior = $actual;
$actual = $actual->proximo;
}
$anterior->proximo = $aux;
$aux->proximo = $actual;
self::$count++;
if ($this->primero != null) {
$actual = $this->primero;
$this->primero = $actual->proximo;
self::$count--;
if($key == 0){
$this->EliminarPrimero($elemento);
else{
$actual = $this->primero;
$anterior = $this->primero;
for($i=0;$i<$key;$i++)
$anterior = $actual;
$actual = $actual->proximo;
}
$anterior->proximo = $actual->proximo;
self::$count--;
while($actual->dato != $key) {
$anterior = $actual;
$actual = $actual->proximo;
if ($actual == $anterior) {
$this->primero = $actual->proximo;
$anterior->proximo = $actual->proximo;
self::$count--;
$encontro = false;
$contador = $this->ContarNodos();
for($i=0;$i<$contador;$i++)
{
if ($actual->dato == $elemento) {
$encontro = true;
$posi = $i;
break;
else {
$anterior = $actual;
$actual = $actual->proximo;
if ($encontro != false){
} else {
$elementos = [];
$actual = $this->primero;
while($actual != null) {
array_push($elementos, $actual->dato);
$actual = $actual->proximo;
}
$str = '';
foreach($elementos as $elemento)
echo $str;
$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 "\n";
echo "\n";
$lista->EliminarPrimero();
$lista->ImprimirLista();
echo "\n";
echo "\n";
echo "\n";
$lista->EliminarNodo(701);
$lista->ImprimirLista();
echo "\n";
echo "\n";
echo "\n";
$lista->EliminarDespues(5);
$lista->ImprimirLista();
echo "\n";
echo "\n";
$cantidad = 10;
for($i=0;$i<$cantidad;$i++){
$lista->InsertarUltimo($i);
$lista->ImprimirLista();
echo "\n";
echo "\n";
echo "\n";
$largo = $lista->ContarNodos();
for($i=0;$i<$largo;$i++){
$lista->EliminarPrimero();
$lista->ImprimirLista();
echo "\n";
echo "\n";
echo "\n";
Bibliografía