Sie sind auf Seite 1von 4

Definiciones:

Una pila (stack en ingls) es una lista ordinal o estructura de datos en la que el modo de
acceso a sus elementos es de tipo LIFO (del ingls Last In First Out, ltimo en entrar,
primero en salir) que permite almacenar y recuperar datos. (por wikipedia).
Operaciones de la pila: Una pila cuenta con 2 operaciones imprescindibles: apilar y
desapilar, a las que en las implementaciones modernas de las pilas se suelen aadir ms
de uso habitual.
Crear: se crea la pila vaca (size).
Apilar: se aade un elemento a la pila.(push)
Desapilar: se elimina el elemento frontal de la pila.(pop)
Cima: devuelve el elemento que esta en la cima de la pila. (top o peek)
Vaca: devuelve cierto si la pila est vaca o falso en caso contrario (empty).
---------------------------------------------------------------------------------------Una cola (tambin llamada fila) es una estructura de datos (no estoy deacuerdo),
caracterizada por ser una secuencia de elementos en la que la operacin de insercin
push se realiza por un extremo y la operacin de extraccin pop por el otro. Tambin se le
llama estructura FIFO (del ingls First In First Out), debido a que el primer elemento en
entrar ser tambin el primero en salir.(por wikipedia)
Operaciones Bsicas de una Cola
Crear: se crea la cola vaca.
Encolar (aadir, entrar, insertar): se aade un elemento a la cola. Se aade al final de
esta.
Desencolar (sacar, salir, eliminar): se elimina el elemento frontal de la cola, es decir, el
primer elemento que entr.
Frente (consultar, front): se devuelve el elemento frontal de la cola, es decir, el primer
elemento que entr.
Vaca: devuelve cierto si la pila est vaca o falso en caso contrario (empty).

Codigo
//Autor: Rey Salcedo Padilla
import java.util.ArrayList;
public class Pila extends ArrayList{
//se aade un elemento a la pila.(push)
public void apilar(Object dato){
if(dato != null){
this.add(dato);

Pila:

}else{
System.out.println("Introduzca un dato no nulo");
}
}
//se elimina el elemento frontal de la pila.(pop)
public void desapilar(){
if(size() > 0){
this.remove(this.size()-1);
}
}
//devuelve el elemento que esta en la cima de la pila. (top o peek)
public Object cima(){
Object datoAuxiliar = null;
if(this.size() > 0){
datoAuxiliar = this.get(this.size()-1);
}
return datoAuxiliar;
}
//devuelve cierto si la pila est vaca o falso en caso contrario
(empty).
public boolean vacia(){
return this.isEmpty();
}
}

Codigo

Cola:

//Autor:Rey Salcedo Padilla


import java.util.ArrayList;
public class Cola extends ArrayList{
//se aade un elemento a la cola. Se aade al final de esta.
public void encolar(Object dato){
if(dato != null){
this.add(dato);
}else{
System.out.println("Introduzca un dato no nulo");
}
}
//se elimina el elemento
elemento que entr.
public void desencolar(){
if(this.size() > 0){
this.remove(0);
}
}

frontal

de

la

cola,

es

decir,

el

primer

//se devuelve el elemento frontal de la cola, es decir, el primer


elemento que entr.
public Object frente(){

Object datoAuxiliar = null;


if(this.size() > 0){
datoAuxiliar = this.get(0);
}
return datoAuxiliar;
}
//devuelve cierto si la pila est vaca o falso en caso contrario
(empty).
public boolean vacia(){
return this.isEmpty();
}
}

Codigo
//Autor:Rey Salcedo Padilla
public class Main{
public static void main(String []args){
System.out.println("------Pila------");
Pila pila = new Pila();
pila.apilar("A");
pila.apilar("B");
pila.apilar("C");
pila.apilar("D");
System.out.println("Esta vacia la pila?:" + pila.vacia());
System.out.println("Tamao de la pila:" + pila.size());
System.out.println(pila.cima());
pila.desapilar();
System.out.println(pila.cima());
pila.desapilar();
System.out.println(pila.cima());
pila.desapilar();
System.out.println(pila.cima());
pila.desapilar();
System.out.println("Esta vacia la pila?:" + pila.vacia());
System.out.println("------Cola------");
Cola cola = new Cola();
cola.encolar("A");
cola.encolar("B");
cola.encolar("C");
cola.encolar("D");
System.out.println("Esta vacia la cola?:" + cola.vacia());
System.out.println("Tamao de la cola:" + cola.size());
System.out.println(cola.frente());
cola.desencolar();
System.out.println(cola.frente());

Main:

cola.desencolar();
System.out.println(cola.frente());
cola.desencolar();
System.out.println(cola.frente());
cola.desencolar();
System.out.println("Esta vacia la cola?:" + cola.vacia());
}