SlideShare una empresa de Scribd logo
1 de 2
Creación de una pila básica en Java
octubre 15th, 2011 Publicado en Java Publicar un comentario
Al aprender a trabajar con arrays, siempre suelen mencionarse las pilas. Una pila no es más que
una colección de valores de tipo LIFO (Last In First Out), o sea el último valor insertado en la
pila es el primero en salir o ejecutarse. La estructura básica de una pila es la siguiente:
Mediante un array conseguiremos construir nuestra pila de datos en Java. Para eso creamos la
siguiente clase:
public class Stack {
private int stck[];
private int tos;
//Constructor
Stack(int size){
//Crear la pila
stck = new int[size];
tos = -1;
}
//Introduce valor en la pila
void push(int value) {
if (tos == stck.length - 1)
System.out.println("Stack Overflow!");
//Pila esta llena
else
stck[++tos] = value;
//Almacena valor en pila
}
//Retira valor de la pila
int pop() {
if (tos < 0) {
//La pila esta vacia
System.out.println("Stack Underflow!");
return 0;
} else
return stck[tos--];
}
}
El primer método de la clase es el constructor, al constructor tenemos que pasarle un parámetro
que indique el tamaño de la pila. Dentro del constructor se crea una matriz con el tamaño
especificado a través del constructor y se le asigna el valor -1 a la variable tos (eso indica que la
pila está vacía).
El siguiente método push() introduce un valor al principio de la pila, primero se comprueba si la
pila está llena, en caso contrario agrega el valor introducido en la pila. El último método pop()
elimina de la pila el último valor insertado y lo devuelve (también se comprueba que la pila no
esté vacía).
Ahora veamos cómo utilizar ésta clase:
public class Test {
public static void main(String args[]) {
//System.out.println("This is a test!");
Stack pila = new Stack(10);
//Llenar la pila
for (int i = 0; i < 10; i++) pila.push(i);
//Retirar 5 primeros elementos de la pila
System.out.println("Valores contenidos en la pila: ");
for (int i = 0; i < 5; i++) System.out.println("t " + pila.pop());
}
}
Primero se crea instancia la clase Stack y mediante el constructor se inicializa una pila que
puede contener hasta 10 valores. Luego mediante la sentencia for() se introducen elementos en
la pila insertándolos usando el método push().

Más contenido relacionado

La actualidad más candente (19)

Practica 2
Practica 2Practica 2
Practica 2
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Constructores
ConstructoresConstructores
Constructores
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Java
JavaJava
Java
 
Formatos tutoria laboratorio
Formatos tutoria laboratorioFormatos tutoria laboratorio
Formatos tutoria laboratorio
 
Estructura de datos I pilas
Estructura de datos I pilasEstructura de datos I pilas
Estructura de datos I pilas
 
04 j flex
04 j flex04 j flex
04 j flex
 
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
 
Herencia encapsulación polimorfismo
Herencia encapsulación polimorfismoHerencia encapsulación polimorfismo
Herencia encapsulación polimorfismo
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
 
C++
C++C++
C++
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Taller de programación clase #3
Taller de programación   clase #3Taller de programación   clase #3
Taller de programación clase #3
 
Semana 1 Estructuras de Datos en Java
Semana 1   Estructuras de Datos en JavaSemana 1   Estructuras de Datos en Java
Semana 1 Estructuras de Datos en Java
 
02 introduccion a python
02 introduccion a python02 introduccion a python
02 introduccion a python
 
Linux basico-8.PDF
Linux basico-8.PDFLinux basico-8.PDF
Linux basico-8.PDF
 
Pilas
PilasPilas
Pilas
 
Prac 2 alda
Prac 2 aldaPrac 2 alda
Prac 2 alda
 

Similar a Documento6

Similar a Documento6 (20)

Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 
Pilas
PilasPilas
Pilas
 
Pilas
PilasPilas
Pilas
 
Unidad iii Pilas y colas
Unidad iii Pilas y colasUnidad iii Pilas y colas
Unidad iii Pilas y colas
 
Codigo para implementar pilas en java
Codigo para implementar pilas en javaCodigo para implementar pilas en java
Codigo para implementar pilas en java
 
Pilas
PilasPilas
Pilas
 
Pilas
PilasPilas
Pilas
 
3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones
3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones
3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones
 
Curso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacionCurso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacion
 
6-Pilas.pdf
6-Pilas.pdf6-Pilas.pdf
6-Pilas.pdf
 
S6-EDD-3.2 Pilas y colas
S6-EDD-3.2 Pilas y colasS6-EDD-3.2 Pilas y colas
S6-EDD-3.2 Pilas y colas
 
Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02
 
Estructura de datos pilas y colas
Estructura de datos pilas y colasEstructura de datos pilas y colas
Estructura de datos pilas y colas
 
Recolección de basura
Recolección de basuraRecolección de basura
Recolección de basura
 
Pilas Dylan Medina.pdf
Pilas Dylan Medina.pdfPilas Dylan Medina.pdf
Pilas Dylan Medina.pdf
 
Biblioteca java.util por gio
Biblioteca java.util por gioBiblioteca java.util por gio
Biblioteca java.util por gio
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas Colas
 
2- TDA Listas
2- TDA Listas2- TDA Listas
2- TDA Listas
 
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...
 
DECLARACIÓN DE PILAS.pdf
DECLARACIÓN DE PILAS.pdfDECLARACIÓN DE PILAS.pdf
DECLARACIÓN DE PILAS.pdf
 

Documento6

  • 1. Creación de una pila básica en Java octubre 15th, 2011 Publicado en Java Publicar un comentario Al aprender a trabajar con arrays, siempre suelen mencionarse las pilas. Una pila no es más que una colección de valores de tipo LIFO (Last In First Out), o sea el último valor insertado en la pila es el primero en salir o ejecutarse. La estructura básica de una pila es la siguiente: Mediante un array conseguiremos construir nuestra pila de datos en Java. Para eso creamos la siguiente clase: public class Stack { private int stck[]; private int tos; //Constructor Stack(int size){ //Crear la pila stck = new int[size]; tos = -1; } //Introduce valor en la pila void push(int value) { if (tos == stck.length - 1) System.out.println("Stack Overflow!"); //Pila esta llena else stck[++tos] = value; //Almacena valor en pila } //Retira valor de la pila int pop() { if (tos < 0) { //La pila esta vacia System.out.println("Stack Underflow!"); return 0; } else return stck[tos--]; } } El primer método de la clase es el constructor, al constructor tenemos que pasarle un parámetro que indique el tamaño de la pila. Dentro del constructor se crea una matriz con el tamaño especificado a través del constructor y se le asigna el valor -1 a la variable tos (eso indica que la pila está vacía). El siguiente método push() introduce un valor al principio de la pila, primero se comprueba si la
  • 2. pila está llena, en caso contrario agrega el valor introducido en la pila. El último método pop() elimina de la pila el último valor insertado y lo devuelve (también se comprueba que la pila no esté vacía). Ahora veamos cómo utilizar ésta clase: public class Test { public static void main(String args[]) { //System.out.println("This is a test!"); Stack pila = new Stack(10); //Llenar la pila for (int i = 0; i < 10; i++) pila.push(i); //Retirar 5 primeros elementos de la pila System.out.println("Valores contenidos en la pila: "); for (int i = 0; i < 5; i++) System.out.println("t " + pila.pop()); } } Primero se crea instancia la clase Stack y mediante el constructor se inicializa una pila que puede contener hasta 10 valores. Luego mediante la sentencia for() se introducen elementos en la pila insertándolos usando el método push().