Canales de Comercializacin 1319900655 Phpapp02 111029100608 Phpapp02 (1)
Listasenlazadas 100517143015-phpapp02
-
Upload
henrry-eliseo-navarro-chinchilla -
Category
Documents
-
view
6.910 -
download
0
Transcript of Listasenlazadas 100517143015-phpapp02
Listas Simplemente Enlazadas
Mariacutea Luisa Velasco Ramiacuterez
Listas Enlazadas
bull Una representacioacuten enlazada de un grupo de elementos de un cierto tipo es una lista enlazada de nodos es decir una
bull secuencia de nodos situados en la memoria dinaacutemica y conectados entre siacute
bull 1048710 Ejemplo lista de enteros 4 8 5 3 2
bull Como se ha visto un nodo tiene dos atributos El dato de tipo geneacuterico (para poder guardar
cualquier tipo de objeto)bull Una referencia al nodo siguiente
bull public class Nodo int dato
bull Nodo siguientebull public Nodo(int dato)
thisdato = dato thissiguiente = null
bull
bull Una lista enlazada requiere como miacutenimo una referencia al primer nodo de la lista
bull Cuando la lista estaacute vaciacutea el atributo primero apunta a null
primero = null
bull public void ListaEnlazada()bull bull primero=nullbull bull public boolean estaVacia()bull bull return primero==nullbull
Operaciones baacutesicas con listas
bull Crear Listabull Recorrido de la Lista bull Insercioacuten de un Elemento bull Borrado de un Elemento bull Buacutesqueda de un Elemento
bull Lo maacutes eficiente es insertar al principio de la lista pues tenemos una referencia al primer nodo
Ejemplo Se quiere insertar el elemento ldquo1rdquo en la siguiente lista
bull public void insertarPrimero(int dato)bull bull crea un nuevo Nodobull Nodo nuevoNodo = new Nodo(dato)
bull nuevoNodosiguiente=primerobull primero=nuevoNodobull
bull public void desplegarLista()bull bull Nodo actual=primerobull while (actual= null)bull bull Systemoutprintln(ldquoEl dato esrdquo+actualdato)bull actual= actualsiguientebull
bull
Coacutedigo para insertar nodos a la derecha
bull Para insertar nodos a la derecha es necesario declarar e inicializar otra variable en este caso es uacuteltimo
Coacutedigo ListaEnlazada
Nodo primero Nodo ultimo
primero=nullultimo=null
Declaracioacuten de las variables primero y ultimo
Inicializar primero y ultimo
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
Listas Enlazadas
bull Una representacioacuten enlazada de un grupo de elementos de un cierto tipo es una lista enlazada de nodos es decir una
bull secuencia de nodos situados en la memoria dinaacutemica y conectados entre siacute
bull 1048710 Ejemplo lista de enteros 4 8 5 3 2
bull Como se ha visto un nodo tiene dos atributos El dato de tipo geneacuterico (para poder guardar
cualquier tipo de objeto)bull Una referencia al nodo siguiente
bull public class Nodo int dato
bull Nodo siguientebull public Nodo(int dato)
thisdato = dato thissiguiente = null
bull
bull Una lista enlazada requiere como miacutenimo una referencia al primer nodo de la lista
bull Cuando la lista estaacute vaciacutea el atributo primero apunta a null
primero = null
bull public void ListaEnlazada()bull bull primero=nullbull bull public boolean estaVacia()bull bull return primero==nullbull
Operaciones baacutesicas con listas
bull Crear Listabull Recorrido de la Lista bull Insercioacuten de un Elemento bull Borrado de un Elemento bull Buacutesqueda de un Elemento
bull Lo maacutes eficiente es insertar al principio de la lista pues tenemos una referencia al primer nodo
Ejemplo Se quiere insertar el elemento ldquo1rdquo en la siguiente lista
bull public void insertarPrimero(int dato)bull bull crea un nuevo Nodobull Nodo nuevoNodo = new Nodo(dato)
bull nuevoNodosiguiente=primerobull primero=nuevoNodobull
bull public void desplegarLista()bull bull Nodo actual=primerobull while (actual= null)bull bull Systemoutprintln(ldquoEl dato esrdquo+actualdato)bull actual= actualsiguientebull
bull
Coacutedigo para insertar nodos a la derecha
bull Para insertar nodos a la derecha es necesario declarar e inicializar otra variable en este caso es uacuteltimo
Coacutedigo ListaEnlazada
Nodo primero Nodo ultimo
primero=nullultimo=null
Declaracioacuten de las variables primero y ultimo
Inicializar primero y ultimo
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
bull Como se ha visto un nodo tiene dos atributos El dato de tipo geneacuterico (para poder guardar
cualquier tipo de objeto)bull Una referencia al nodo siguiente
bull public class Nodo int dato
bull Nodo siguientebull public Nodo(int dato)
thisdato = dato thissiguiente = null
bull
bull Una lista enlazada requiere como miacutenimo una referencia al primer nodo de la lista
bull Cuando la lista estaacute vaciacutea el atributo primero apunta a null
primero = null
bull public void ListaEnlazada()bull bull primero=nullbull bull public boolean estaVacia()bull bull return primero==nullbull
Operaciones baacutesicas con listas
bull Crear Listabull Recorrido de la Lista bull Insercioacuten de un Elemento bull Borrado de un Elemento bull Buacutesqueda de un Elemento
bull Lo maacutes eficiente es insertar al principio de la lista pues tenemos una referencia al primer nodo
Ejemplo Se quiere insertar el elemento ldquo1rdquo en la siguiente lista
bull public void insertarPrimero(int dato)bull bull crea un nuevo Nodobull Nodo nuevoNodo = new Nodo(dato)
bull nuevoNodosiguiente=primerobull primero=nuevoNodobull
bull public void desplegarLista()bull bull Nodo actual=primerobull while (actual= null)bull bull Systemoutprintln(ldquoEl dato esrdquo+actualdato)bull actual= actualsiguientebull
bull
Coacutedigo para insertar nodos a la derecha
bull Para insertar nodos a la derecha es necesario declarar e inicializar otra variable en este caso es uacuteltimo
Coacutedigo ListaEnlazada
Nodo primero Nodo ultimo
primero=nullultimo=null
Declaracioacuten de las variables primero y ultimo
Inicializar primero y ultimo
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
bull public class Nodo int dato
bull Nodo siguientebull public Nodo(int dato)
thisdato = dato thissiguiente = null
bull
bull Una lista enlazada requiere como miacutenimo una referencia al primer nodo de la lista
bull Cuando la lista estaacute vaciacutea el atributo primero apunta a null
primero = null
bull public void ListaEnlazada()bull bull primero=nullbull bull public boolean estaVacia()bull bull return primero==nullbull
Operaciones baacutesicas con listas
bull Crear Listabull Recorrido de la Lista bull Insercioacuten de un Elemento bull Borrado de un Elemento bull Buacutesqueda de un Elemento
bull Lo maacutes eficiente es insertar al principio de la lista pues tenemos una referencia al primer nodo
Ejemplo Se quiere insertar el elemento ldquo1rdquo en la siguiente lista
bull public void insertarPrimero(int dato)bull bull crea un nuevo Nodobull Nodo nuevoNodo = new Nodo(dato)
bull nuevoNodosiguiente=primerobull primero=nuevoNodobull
bull public void desplegarLista()bull bull Nodo actual=primerobull while (actual= null)bull bull Systemoutprintln(ldquoEl dato esrdquo+actualdato)bull actual= actualsiguientebull
bull
Coacutedigo para insertar nodos a la derecha
bull Para insertar nodos a la derecha es necesario declarar e inicializar otra variable en este caso es uacuteltimo
Coacutedigo ListaEnlazada
Nodo primero Nodo ultimo
primero=nullultimo=null
Declaracioacuten de las variables primero y ultimo
Inicializar primero y ultimo
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
bull Una lista enlazada requiere como miacutenimo una referencia al primer nodo de la lista
bull Cuando la lista estaacute vaciacutea el atributo primero apunta a null
primero = null
bull public void ListaEnlazada()bull bull primero=nullbull bull public boolean estaVacia()bull bull return primero==nullbull
Operaciones baacutesicas con listas
bull Crear Listabull Recorrido de la Lista bull Insercioacuten de un Elemento bull Borrado de un Elemento bull Buacutesqueda de un Elemento
bull Lo maacutes eficiente es insertar al principio de la lista pues tenemos una referencia al primer nodo
Ejemplo Se quiere insertar el elemento ldquo1rdquo en la siguiente lista
bull public void insertarPrimero(int dato)bull bull crea un nuevo Nodobull Nodo nuevoNodo = new Nodo(dato)
bull nuevoNodosiguiente=primerobull primero=nuevoNodobull
bull public void desplegarLista()bull bull Nodo actual=primerobull while (actual= null)bull bull Systemoutprintln(ldquoEl dato esrdquo+actualdato)bull actual= actualsiguientebull
bull
Coacutedigo para insertar nodos a la derecha
bull Para insertar nodos a la derecha es necesario declarar e inicializar otra variable en este caso es uacuteltimo
Coacutedigo ListaEnlazada
Nodo primero Nodo ultimo
primero=nullultimo=null
Declaracioacuten de las variables primero y ultimo
Inicializar primero y ultimo
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
bull public void ListaEnlazada()bull bull primero=nullbull bull public boolean estaVacia()bull bull return primero==nullbull
Operaciones baacutesicas con listas
bull Crear Listabull Recorrido de la Lista bull Insercioacuten de un Elemento bull Borrado de un Elemento bull Buacutesqueda de un Elemento
bull Lo maacutes eficiente es insertar al principio de la lista pues tenemos una referencia al primer nodo
Ejemplo Se quiere insertar el elemento ldquo1rdquo en la siguiente lista
bull public void insertarPrimero(int dato)bull bull crea un nuevo Nodobull Nodo nuevoNodo = new Nodo(dato)
bull nuevoNodosiguiente=primerobull primero=nuevoNodobull
bull public void desplegarLista()bull bull Nodo actual=primerobull while (actual= null)bull bull Systemoutprintln(ldquoEl dato esrdquo+actualdato)bull actual= actualsiguientebull
bull
Coacutedigo para insertar nodos a la derecha
bull Para insertar nodos a la derecha es necesario declarar e inicializar otra variable en este caso es uacuteltimo
Coacutedigo ListaEnlazada
Nodo primero Nodo ultimo
primero=nullultimo=null
Declaracioacuten de las variables primero y ultimo
Inicializar primero y ultimo
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
Operaciones baacutesicas con listas
bull Crear Listabull Recorrido de la Lista bull Insercioacuten de un Elemento bull Borrado de un Elemento bull Buacutesqueda de un Elemento
bull Lo maacutes eficiente es insertar al principio de la lista pues tenemos una referencia al primer nodo
Ejemplo Se quiere insertar el elemento ldquo1rdquo en la siguiente lista
bull public void insertarPrimero(int dato)bull bull crea un nuevo Nodobull Nodo nuevoNodo = new Nodo(dato)
bull nuevoNodosiguiente=primerobull primero=nuevoNodobull
bull public void desplegarLista()bull bull Nodo actual=primerobull while (actual= null)bull bull Systemoutprintln(ldquoEl dato esrdquo+actualdato)bull actual= actualsiguientebull
bull
Coacutedigo para insertar nodos a la derecha
bull Para insertar nodos a la derecha es necesario declarar e inicializar otra variable en este caso es uacuteltimo
Coacutedigo ListaEnlazada
Nodo primero Nodo ultimo
primero=nullultimo=null
Declaracioacuten de las variables primero y ultimo
Inicializar primero y ultimo
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
bull Lo maacutes eficiente es insertar al principio de la lista pues tenemos una referencia al primer nodo
Ejemplo Se quiere insertar el elemento ldquo1rdquo en la siguiente lista
bull public void insertarPrimero(int dato)bull bull crea un nuevo Nodobull Nodo nuevoNodo = new Nodo(dato)
bull nuevoNodosiguiente=primerobull primero=nuevoNodobull
bull public void desplegarLista()bull bull Nodo actual=primerobull while (actual= null)bull bull Systemoutprintln(ldquoEl dato esrdquo+actualdato)bull actual= actualsiguientebull
bull
Coacutedigo para insertar nodos a la derecha
bull Para insertar nodos a la derecha es necesario declarar e inicializar otra variable en este caso es uacuteltimo
Coacutedigo ListaEnlazada
Nodo primero Nodo ultimo
primero=nullultimo=null
Declaracioacuten de las variables primero y ultimo
Inicializar primero y ultimo
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
bull public void insertarPrimero(int dato)bull bull crea un nuevo Nodobull Nodo nuevoNodo = new Nodo(dato)
bull nuevoNodosiguiente=primerobull primero=nuevoNodobull
bull public void desplegarLista()bull bull Nodo actual=primerobull while (actual= null)bull bull Systemoutprintln(ldquoEl dato esrdquo+actualdato)bull actual= actualsiguientebull
bull
Coacutedigo para insertar nodos a la derecha
bull Para insertar nodos a la derecha es necesario declarar e inicializar otra variable en este caso es uacuteltimo
Coacutedigo ListaEnlazada
Nodo primero Nodo ultimo
primero=nullultimo=null
Declaracioacuten de las variables primero y ultimo
Inicializar primero y ultimo
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
bull public void desplegarLista()bull bull Nodo actual=primerobull while (actual= null)bull bull Systemoutprintln(ldquoEl dato esrdquo+actualdato)bull actual= actualsiguientebull
bull
Coacutedigo para insertar nodos a la derecha
bull Para insertar nodos a la derecha es necesario declarar e inicializar otra variable en este caso es uacuteltimo
Coacutedigo ListaEnlazada
Nodo primero Nodo ultimo
primero=nullultimo=null
Declaracioacuten de las variables primero y ultimo
Inicializar primero y ultimo
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
Coacutedigo para insertar nodos a la derecha
bull Para insertar nodos a la derecha es necesario declarar e inicializar otra variable en este caso es uacuteltimo
Coacutedigo ListaEnlazada
Nodo primero Nodo ultimo
primero=nullultimo=null
Declaracioacuten de las variables primero y ultimo
Inicializar primero y ultimo
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
bull Para insertar nodos a la derecha es necesario declarar e inicializar otra variable en este caso es uacuteltimo
Coacutedigo ListaEnlazada
Nodo primero Nodo ultimo
primero=nullultimo=null
Declaracioacuten de las variables primero y ultimo
Inicializar primero y ultimo
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
Coacutedigo ListaEnlazada
Nodo primero Nodo ultimo
primero=nullultimo=null
Declaracioacuten de las variables primero y ultimo
Inicializar primero y ultimo
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
public boolean estavacia()return primero==null
public void insertarUltimo (int dato)crea un nuevo nodo
NodoLista nuevoNodo=new NodoLista( dato)
if(primero==null) nuevoNodosiguiente=primero
primero=nuevoNodo ultimo=nuevoNodo
else
nuevoNodosiguiente=null ultimosiguiente=nuevoNodo
ultimo=nuevoNodo
Meacutetodo modificado para que los nodos se inserten a la derecha
nuevoNodosiguiente seraacute igual a null en vez de primeroSe le agrega
una condicion para que inserte a la derecha
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
public void desplegarLista()Nodoactual=primerowhile(actual=null)
Systemoutprintln(ldquordquo+actualdato)actual=actualsiguiente
Meacutetodo para imprimir
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
doSystemoutprint(Introduce el dato del nodo)Systemoutflush()dato=IntegerparseInt(entradareadLine())
listainsertarUltimo(dato)insertar nodo a la listaSystemoutprint(Deseas seguir insertando datos SI=1 NO=0)Systemoutflush()opc=IntegerparseInt(entradareadLine())
while(opc==1)listadesplegarLista()
Invocacioacuten al meacutetodo insertarUltimo
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
De manera graacutefica seriacutea
id dato opc InsertarPrimero(id dato)
1
2
3
4
215
158
124
402
1
1
1
0
215 1
158 2 215 1
124 3 158 2215 1
402 4 124 3 158 2215 1
null
null
null
null
Primero
Primero
Primero
Primero
Ultimo
Ultimo
Ultimo
y Ultimo
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
Eliminar nodo
bull public NodoLista eliminarPrimero()bull bull Nodo temp = primerobull primero = primerosiguientebull return tempbull
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
Tarea
bull Implementar en Java un menuacute con las siguientes operaciones
bull A) Crear lista enlazadabull B) Insertar a la cabeza de la listabull C) Insertar al final de la listabull D) Borrar el elemento inicial de la listabull E)Borrar el uacuteltimo elemento de la listabull F) Desplegar los elementos de la listabull Deben validar al borrar elementos de la lista que la lista
no este vaciacutea
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
bull Escribir un algoritmo que inserte un especiacutefico elemento de la lista
bull Escribir un algoritmo que busque un elemento en la lista y lo visualice en pantalla en caso de no encontrarlo mandar el mensaje correspondiente
bull Escribir un algoritmo que borre un elemento especiacutefico de la lista Ver ejemplo de la diapositiva siguiente
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
Eliminar Nodos
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-
Listas enlazadas vs Arreglos
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
-