12 feb 2010
Pila o Listas Simples
21:12 |
Publicado por
black |
Editar entrada
Una Pila (Stack): es una estructura de datos de tipo LIFO (del inglés Last In First Out) que permite almacenar y recuperar datos mediante dos operaciones principalmente, push (apilar) y pop (des-apilar). Estas operaciones se realizan sobre un único extremo llamado cima.
- Push ----Añadir un dato en la pila
- Pop --- Retirar un dato en la pila
Una pila es una colección ordenada de elementos, en la cual se puede insertar nuevos elementos por un extremo y se pueden retirar otros por el mismo extremo; ese extremos se llama “el tope de la pila” (top).
Ejemplo:
public class Lista {
private Nodo Primero;
private Nodo Ultimo;
int n;
private Nodo Primero;
private Nodo Ultimo;
int n;
public Lista() {
Primero = null;
Ultimo = null;
}
Primero = null;
Ultimo = null;
}
public void insertar(String cvePro, String nomPro, String precioPro){
if (Primero == null)
{
Primero = Nuevo;
Ultimo = Nuevo;
}
else
{
Ultimo.Siguiente = Nuevo;
Ultimo = Nuevo;
}
}
{
Primero = Nuevo;
Ultimo = Nuevo;
}
else
{
Ultimo.Siguiente = Nuevo;
Ultimo = Nuevo;
}
}
public Nodo consultar(String cvePro){
Nodo Cursor;
Cursor = Primero;
while ((Cursor != null) && (!Cursor.cveProducto.equals(cvePro)))
{
Cursor = Cursor.Siguiente;
}
if(Cursor != null)
{
return(Cursor);
}
else
{
return(null);
}
}
Nodo Cursor;
Cursor = Primero;
while ((Cursor != null) && (!Cursor.cveProducto.equals(cvePro)))
{
Cursor = Cursor.Siguiente;
}
if(Cursor != null)
{
return(Cursor);
}
else
{
return(null);
}
}
public boolean suprimir(String cvePro){
Nodo ptrAnterior;
Nodo ptrActual;
ptrActual = Primero;
ptrAnterior = null;
while ((ptrActual != null) && (!ptrActual.cveProducto.equals(cvePro)))
{
ptrAnterior = ptrActual;
ptrActual = ptrActual.Siguiente;
}
Nodo ptrAnterior;
Nodo ptrActual;
ptrActual = Primero;
ptrAnterior = null;
while ((ptrActual != null) && (!ptrActual.cveProducto.equals(cvePro)))
{
ptrAnterior = ptrActual;
ptrActual = ptrActual.Siguiente;
}
if(ptrActual!= null)
{
/*--Eliminar el primer nodo de la LISTA---*/
if(ptrAnterior == null)
{
if(ptrActual == Ultimo)
{
Primero = null;
Ultimo = null;
}
else
{
Primero = Primero.Siguiente;
}
} //fin del if
else
{
if(ptrActual == Ultimo)
{
Ultimo = ptrAnterior;
Ultimo.Siguiente = null;
}
else
{
ptrAnterior.Siguiente = ptrActual.Siguiente;
}
}
return(true);
}
else
{
return(false);
}
}
{
/*--Eliminar el primer nodo de la LISTA---*/
if(ptrAnterior == null)
{
if(ptrActual == Ultimo)
{
Primero = null;
Ultimo = null;
}
else
{
Primero = Primero.Siguiente;
}
} //fin del if
else
{
if(ptrActual == Ultimo)
{
Ultimo = ptrAnterior;
Ultimo.Siguiente = null;
}
else
{
ptrAnterior.Siguiente = ptrActual.Siguiente;
}
}
return(true);
}
else
{
return(false);
}
}
public void Listar(List L){
Nodo Cursor;
Cursor = Primero;
L.clear();
while (Cursor != null)
{
L.add(Cursor.nomProducto);
Cursor = Cursor.Siguiente;
}
}
}//fin de la clase Lista
Nodo Cursor;
Cursor = Primero;
L.clear();
while (Cursor != null)
{
L.add(Cursor.nomProducto);
Cursor = Cursor.Siguiente;
}
}
}//fin de la clase Lista
class Nodo{
public String cveProducto;
public String nomProducto;
public String precioProducto;
public Nodo Siguiente;
Nodo(String cvePro, String nomPro, String precioPro)
{
cveProducto = cvePro;
nomProducto = nomPro;
precioProducto = precioPro;
Siguiente = null;
}
}
Bueno espero que les sirva.
public String cveProducto;
public String nomProducto;
public String precioProducto;
public Nodo Siguiente;
Nodo(String cvePro, String nomPro, String precioPro)
{
cveProducto = cvePro;
nomProducto = nomPro;
precioProducto = precioPro;
Siguiente = null;
}
}
Bueno espero que les sirva.
Etiquetas:
Java
Suscribirse a:
Enviar comentarios (Atom)
Categorias
- Apuntes (1)
- Datos Interesantes (1)
- Java (4)
- Juegos (5)
- Libros (3)
- Software (7)
- TEUS (1)
- Utilidades Messenger (3)
0 comentarios:
Publicar un comentario