Para definir la estructura de un nodo es necesario definir una clase que contenga los atributos y métodos necesariospara l...
// Clase para manejar la listapublico clase ListaSimpleInicio        nodo PrimerNodo;// se define el primer nodo de la lis...
//Metodo para rrecorer y mostrar elementos de la lista  publico recorrido()  Inicio     si (!ListaVacia())      Inicio    ...
// Metodo para insertar al inicio de la Listapublico InsertarInicio(Entero dato)Inicio   Si (!ListaVacia())   Inicio      ...
// Metodo para insertar al final de la Lista publico void InsertarAntes(nodo liga, Enterovalor) Inicio    Si (ListaVacia()...
//Metodo para eliminar al final de la listapublico EliminarFinal()Inicio  Si (!ListaVacia())  Inicio    Si (unico())    In...
//Metodo para buscar un elemento dentro de la lista, el método devuelve la dirección donde se encontró el dato   publico n...
Próxima SlideShare
Cargando en…5
×

Algoritmo de listas simples completo

13.207 visualizaciones

Publicado el

Publicado en: Educación
0 comentarios
3 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
13.207
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
257
Comentarios
0
Recomendaciones
3
Insertados 0
No insertados

No hay notas en la diapositiva.

Algoritmo de listas simples completo

  1. 1. Para definir la estructura de un nodo es necesario definir una clase que contenga los atributos y métodos necesariospara la declaración e instanciación de un nodo.// Clase que define el nodoclase nodoInicio Entero Dato; nodo Liga; // el campo nodo que permite el direccionamiento, se define como tipo nodo que en este caso es el nombre de la clase // Se definen constructores para inicializar la estructura // Constructor vacio para nodo publico nodo() Inicio Fin // Se define constructor que introduzca el valor del nodo por medio de parametro publico nodo(EnteroDato) Inicio nodo.Dato=Dato; nodo.Liga=null; Fin //En caso de ser necesario se define constructor con dato para el nodo y dirección para ligar a otro nodo cuando se realice instancia con este constructor publico nodo (Entero Dato, nodo Liga) Inicio nodo.Dato=Dato; nodo.Liga=Liga; Fin Fin// Fin de la clase que define la estructura de nodo
  2. 2. // Clase para manejar la listapublico clase ListaSimpleInicio nodo PrimerNodo;// se define el primer nodo de la lista nodo Q,T; // Se definen nodos aucxiliares//Constructores para la lista// COnstructor vacio publico ListaSimple() Inicio Fin//COnstructor para iniciar la lista publico ListaSimple(EnteroDato) // el valor que se captura en menu para el primer nodo Inicio PrimerNodo=new nodo(Dato); PrimerNodo.Liga=null; Fin// Metodo para determinar lista vacia publico boolean ListaVacia() Inicio retornar PrimerNodo ==null;// si el primer nodo apunta a null esta vacia Fin //Metodo para determinar si hay un nodo en la lista publico boolean unico() Inicio si (PrimerNodo.Liga==null) retornar verdadero; sino retornar falso; fin si Fin
  3. 3. //Metodo para rrecorer y mostrar elementos de la lista publico recorrido() Inicio si (!ListaVacia()) Inicio Q= PrimerNodo; Mientras que (Q != null) Inicio Escriba(""+Q.Dato); Q=Q.Liga; Fin Fin else Escriba("En estos momentos no hay lista creada"); Fin // Metodo para insertar al final de la lista publico insertarFinal(Entero dato) Inicio Si (!ListaVacia()) Inicio Q = new nodo(dato); Si (unico()) Inicio PrimerNodo.Liga=Q; Q.Liga=null; Fin else Inicio Q=PrimerNodo; Mientras que (Q.Liga != null) Inicio Q=Q.Liga; Fin nodo Nuevo= new nodo(dato); Nuevo.Liga=null; Q.Liga=Nuevo; Q=Nuevo; Fin Fin else Inicio PrimerNodo= new nodo(dato); PrimerNodo.Liga=null; Fin Fin
  4. 4. // Metodo para insertar al inicio de la Listapublico InsertarInicio(Entero dato)Inicio Si (!ListaVacia()) Inicio Q = new nodo(dato); Q.Liga=PrimerNodo; PrimerNodo=Q; Fin else Inicio PrimerNodo= new nodo(dato); PrimerNodo.Liga=null; FinFin// Metodo para insertar al final de la Listapublico insertardespues(nodo liga, Entero valor)Inicio Si (ListaVacia()) Inicio Escriba("Esta operacion requiere minimo un elemento en la lista "); Fin sino Inicio Q=PrimerNodo; Mientras que (Q != liga) Inicio Q=Q.Liga; Fin nodo Nuevo = new nodo(valor); Nuevo.Liga=Q.Liga; Q.Liga=Nuevo; FinFin
  5. 5. // Metodo para insertar al final de la Lista publico void InsertarAntes(nodo liga, Enterovalor) Inicio Si (ListaVacia()) Inicio Escriba("Esta operación requiere mínimo un elemento en la lista "); Fin sino Inicio Q=PrimerNodo; Mientras que (Q.Liga != liga) Inicio Q=Q.Liga; Fin nodo Nuevo = new nodo(valor); Nuevo.Liga=Q.Liga; Q.Liga=Nuevo; Fin Fin// Metodo para Eliminar al inicio de la Lista Publico EliminarInicio() Inicio Si (!ListaVacia()) Inicio Si (unico()) Inicio PrimerNodo=null; Escriba("Se ha eliminado el ultimo nodo"); Fin Sino Inicio Q=PrimerNodo; PrimerNodo=Q.Liga; Fin Fin sino Escriba("La lista esta vacia no hay nodos que eliminar"); Fin
  6. 6. //Metodo para eliminar al final de la listapublico EliminarFinal()Inicio Si (!ListaVacia()) Inicio Si (unico()) Inicio PrimerNodo=null; Escriba("Se ha eliminado el ultimo nodo"); Fin else Inicio Q=PrimerNodo; T = new nodo(); Mientras que (Q!= null) Inicio T=Q; Q=Q.Liga; Fin T.Liga=null; Fin Fin sino Escriba("La lista esta vacía no hay nodos que eliminar");Fin
  7. 7. //Metodo para buscar un elemento dentro de la lista, el método devuelve la dirección donde se encontró el dato publico nodo Buscar(Enterodato) Inicio Enteroc=1; boolean SW= false; T= new nodo(); Q= new nodo(); Q= PrimerNodo; Mientras que ((Q != null)&&(SW==false)) Inicio Si (Q.Dato == dato) Inicio Escriba("Se encontro en"+c); SW=true; retornar Q; Fin sino Inicio c++; Q=Q.Liga; Fin Fin retornar null; Fin//Fin de la clase

×