0% encontró este documento útil (0 votos)
59 vistas9 páginas

Ejemplos de Estructuras Lineales

El documento describe la implementación de estructuras de datos como pilas, colas y listas en Java. Se presentan clases para cada estructura, incluyendo métodos para insertar y eliminar elementos, así como un menú para interactuar con las pilas y colas. Además, se incluye un ejemplo de cómo manipular listas mediante nodos y operaciones básicas.

Cargado por

Riki Santiago
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
59 vistas9 páginas

Ejemplos de Estructuras Lineales

El documento describe la implementación de estructuras de datos como pilas, colas y listas en Java. Se presentan clases para cada estructura, incluyendo métodos para insertar y eliminar elementos, así como un menú para interactuar con las pilas y colas. Además, se incluye un ejemplo de cómo manipular listas mediante nodos y operaciones básicas.

Cargado por

Riki Santiago
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Programa de la unidad

Asignatura Estructura de datos Semestre/grupo 3B


Nombre del Ing. Nelly Janeth Velasco Unidad III
Docente Escobedo
Carrera Ingeniería en Sistemas Periodo
computacionales

IMPLEMENTACIÓN DE PILAS
Para la implementación de pilas debemos crear una clase donde se defina la pila, ya sea
mediante un arreglo o lista, después creamos un programa que manipule a la clase.

import javax.swing.*;
public class Pila
{ private int max=10, tope=-1, P[ ];
private boolean b=false;
public Pila()
{ P=new int [max];
}
public void pilaVacia()
{ if(tope== -1)
b=true;
else
b=false;
}
public void pilaLlena()
{ if(tope==max-1)
b=true;
else
b=false;
}
public void Insertar(int dato)
{ pilaLlena();
if(b==true)
JOptionPane.showMessageDialog(null,"Desbordamiento","PILA",JO
ptionPane.PLAIN_MESSAGE);
else
{ tope=tope+1;
P[tope]=dato;
Programa de la unidad
Asignatura Estructura de datos Semestre/grupo 3B
Nombre del Ing. Nelly Janeth Velasco Unidad III
Docente Escobedo
Carrera Ingeniería en Sistemas Periodo
computacionales

}
}
public void Eliminar()
{ int dato;
pilaVacia();
if(b==true)
JOptionPane.showMessageDialog(null,"Subdesbordamiento","PILA"
,JOptionPane.PLAIN_MESSAGE);
else
{ dato=P[tope];
tope=tope-1;
}
}
}

La clase principal contiene al menú para la manipulación de la pila, en donde se escoge la


opción y se llama a la clase pila para ejecutar las operaciones.

class manejoPila
{ public static void main(String arg[])
{ Pila miPila=new Pila();
String valor,num,YN;
int n,v,b=1,sn;
num=JOptionPane.showInputDialog("Elige una opción:\n1: Insertar
Elemento\n2: Eliminar Elemento\n3:Mostrar Pila\n4: Salir");
n=Integer.parseInt(num);
switch(n)
{ case 1: //insertar
valor=JOptionPane.showInputDialog("Valor:");
v=Integer.parseInt(valor);
miPila.Insertar(v);
Programa de la unidad
Asignatura Estructura de datos Semestre/grupo 3B
Nombre del Ing. Nelly Janeth Velasco Unidad III
Docente Escobedo
Carrera Ingeniería en Sistemas Periodo
computacionales

break;
case: 2: …
case n:…
}System.exit(0);
}
}
Programa de la unidad
Asignatura Estructura de datos Semestre/grupo 3B
Nombre del Ing. Nelly Janeth Velasco Unidad III
Docente Escobedo
Carrera Ingeniería en Sistemas Periodo
computacionales

IMPLEMENTACION DE COLAS
La clase cola incluye los elementos básicos para manipular a una cola a través de un
arreglo.

import java.util.Scanner;
public class ClaseCola {
private int cola[],max=10,frente=-1,fin=-1;
private boolean band;

public ClaseCola() {
cola=new int[max];
}
public void insertar (int valor) {
colallena();
if(band==true)
System.out.println("Desborde en pila");
else {
fin=fin+1;
cola[fin]=valor;
if (fin==0)
frente=0;
}
}
public void eliminar () {
int valor=0;
colavacia();
if(band==true)
System.out.println("Subdesborde en pila");
else{
valor=cola[frente];
if(frente==fin) {
Programa de la unidad
Asignatura Estructura de datos Semestre/grupo 3B
Nombre del Ing. Nelly Janeth Velasco Unidad III
Docente Escobedo
Carrera Ingeniería en Sistemas Periodo
computacionales

frente= -1;
fin= -1;
}
else {
frente=frente+1;
}
}
}
public void colavacia(){
if(frente==-1)
band=true;
else
band=false;
}
public void colallena (){
if(fin==max-1)
band=true;
else
band=false;
}
}

public class PruebaCola


{ public static void main (String [ ] args)
{ ClaseCola cp=new ClaseCola();
int op, valor;
Scanner leer= new Scanner(System.in);
do{
System.out.println("Selecciona la opción\n1.Insertar\n2.Eliminar\n3.Salir");
op=leer.nextInt();
switch (op)
Programa de la unidad
Asignatura Estructura de datos Semestre/grupo 3B
Nombre del Ing. Nelly Janeth Velasco Unidad III
Docente Escobedo
Carrera Ingeniería en Sistemas Periodo
computacionales

{ case 1:
System.out.println("Introduce valor a insertar");
valor=leer.nextInt();
cp.insertar(valor);
break;
case 2:
cp.eliminar();
break;
}
}
while(op >=1 && op<3);
}
}
Programa de la unidad
Asignatura Estructura de datos Semestre/grupo 3B
Nombre del Ing. Nelly Janeth Velasco Unidad III
Docente Escobedo
Carrera Ingeniería en Sistemas Periodo
computacionales

IMPLEMENTACIÓN DE LISTAS
Para implementar una lista se deben realizar las siguientes clases
• Clase que defina a un nodo de la lista
• Clase que contenga las funciones básicas para manipular a la lista y
• Clase principal que manipula a la lista

Clase que define a un nodo de la lista


public class NodoLista {
int dato;
NodoLista SiguienteNodo;
NodoLista( int objeto )
{ this( objeto, null );
}
NodoLista( int objeto, NodoLista nodo )
{ dato = objeto;
SiguienteNodo = nodo;
}
}
Clase que contiene las funciones básicas de una lista
public class Lista {
private NodoLista PrimerNodo;
private NodoLista UltimoNodo;
public Lista()
{ this( "Lista" );
}
public void InsertarAlInicio( int Insertar )
{ if ( EstaVacia() )
PrimerNodo = UltimoNodo = new NodoLista( Insertar );
else
PrimerNodo = new NodoLista( Insertar, PrimerNodo );
}
Programa de la unidad
Asignatura Estructura de datos Semestre/grupo 3B
Nombre del Ing. Nelly Janeth Velasco Unidad III
Docente Escobedo
Carrera Ingeniería en Sistemas Periodo
computacionales

public void InsertarAlFinal( int Insertar )


{ if ( EstaVacia() )
PrimerNodo = UltimoNodo = new NodoLista( Insertar );
else
UltimoNodo=UltimoNodo.SiguienteNodo=new
NodoLista( Insertar );
}
public int EliminarDelInicio()
{ if ( EstaVacia() )
System.out.print("Lista Vacía");
int ElementoEliminado = PrimerNodo.dato;
if ( PrimerNodo == UltimoNodo )
PrimerNodo = UltimoNodo = null;
else
PrimerNodo = PrimerNodo.SiguienteNodo;
return ElementoEliminado;
}
public int EliminarDelFinal()
{ if ( EstaVacia() )
System.out.print("Lista Vacía");
int ElementoEliminado = UltimoNodo.dato;
if ( PrimerNodo == UltimoNodo )
PrimerNodo = UltimoNodo = null;
else {
NodoLista Actual = PrimerNodo;
while ( Actual.SiguienteNodo != UltimoNodo )
Actual = Actual.SiguienteNodo;
UltimoNodo = Actual;
Actual.SiguienteNodo = null;
}
return ElementoEliminado;
Programa de la unidad
Asignatura Estructura de datos Semestre/grupo 3B
Nombre del Ing. Nelly Janeth Velasco Unidad III
Docente Escobedo
Carrera Ingeniería en Sistemas Periodo
computacionales

}
public boolean EstaVacia()
{ return PrimerNodo == null;
}
}

La clase principal no contiene todas las operaciones solo muestra la forma en que se
puede llevar a cabo la manipulación de la lista.
import java.io.*;
public class PruebaLista {
public static void main( String args[] ) throws IOException
{ Lista lista = new Lista();
BufferedReader entrada=new BufferedReader(new
InputStreamReader(System.in));
String e,e1;
int Entero, Entero1;
System.out.println("Introduzca 2 valores");
System.out.flush();
e=entrada.readLine(); e1=entrada.readLine();
Entero=Integer.parseInt(e); Entero1=Integer.parseInt(e1);
lista.InsertarAlInicio( Entero ); lista.Mostrar();
lista.InsertarAlFinal( Entero2 ); lista.Mostrar();
int ObjetoEliminado = lista.EliminarDelInicio();
System.out.println( ObjetoEliminado + " Eliminado" );
lista.Mostrar();
ObjetoEliminado = lista.EliminarDelFinal();
System.out.println( ObjetoEliminado + " Eliminado" );
lista.Mostrar();
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
}
}

También podría gustarte