Está en la página 1de 4

Pila: Es una estructura de datos lineales que puede organizarse en su almacenamiento de manera

estática o dinámica las operaciones de entrada y salida se realiza por tope

LIFO: la pila se caracteriza por el mecanismo LIFO (Last input,First ouput) el ultimo que entra es el
primero en salir

Stack: El tope de la pila indica cual sale

Almacenamiento Estático: Representar una pila es con un vector el índice del vector es el tope

Almacenamiento Dinámico: Se usan referencias de memoria se logra con listas enlazadas el tope
es una referencia que almacena la dirección del primero elemento

La pila tiene 4 operaciones push,pop,Stacktop y empty

Operación Push: Inserta datos a una pila modificando el tope si es estática el tope incrementa si es
dinámica cambia su valor con una nueva referencia de la pila la operación ejecutar siempre y
cuando exista espacio

public void push (Object ||char dato){ (inserta un dato)

tope++;

p[tope]=dato;

Operación Pop: la supresión de un dato una vez eliminado el dato cambia su valor tope

sí es estática el tope debe decrementar

sí es dinámica obtiene la referencia del elemento siguiente realizando la operación de la pila como
mínimo debe tener un elemento y retorna el elemento eliminado

public Object ||char pop(){ (Eliminar)

Object aux=p[tope];

tope--;

return aux;

(SE DEBE VALIDAR EXTERNAMENTE SI EXISTE ALGO EN LA PILA)

Operación Stacktop: permite obtener el dato que se encuentra en el tope sin eliminarlo de la pila
debe tener al menos un elemento en la pila

public Object||char stacktop(){//conocer el elemento que está en el tope

return p[tope];
Operación Empty: Permite saber si la pila está vacía para realizar otras operaciones retorna un
valor verdadero o uno falso dependiendo de como se encuentre la pila vacía o no
public boolean empty(){//si esta vacio o no

if(tope==-1){

return true;

}else{

return false;

Operación Full: Cuando se trata de una pila estática debemos tener en cuenta la memoria para eso
usaremos full
public boolean full(){//valida si está llena la pila

if(tope==p.length-1){

return true;

}else{

return false;

}
Cola: Estructura de datos lineal más conocido como FIFO (First input First output) el primer
elemento insertado es el primer elemento que sale las operaciones entrada y salida llamados fin y
frente un elemento entra por el fin y sale por el frente

Almacenamiento estático: Representado por un vector tiene 2 extremos frente y fin el fin aumenta

Almacenamiento Dinámico: Cada elemento se une al siguiente con referencia de memoria

Las operaciones básicas de la cola son 3 insertar eliminar y cola vacía

Insertar: Agrega por el fin


public void insertarCola(Object dato) {

int frente = -1, limite = -1;

if (empty()==true) {

frente = limite = 0;

} else {

if (frente == limite) {

limite = 0;

} else {

limite++;

}
Eliminar Remueve el elemento al frente modificando el índice de frente regresa el elemento
eliminado requiere ser validada externamente no puede eliminarse si la cola esta vacia
public Object eliminarCola() {

Object dato = c[limite];

if (frente == limite) {

frente = limite = -1;

} else {

if (frente == limite) {

frente = 0;

} else {

frente++;

return dato;

Cola vacia: Regresa un valor verdadero o falso operación empty

Si se trata de una estructura estática la operación de cola llena validar las operaciones checando que estas si puedan
realizar no se puede realizar una eliminación si la cola está vacía no se realiza una inserción en una cola estática si la cola
está llena

public boolean empty() {

if (frente == -1 && limite == -1) {

return true;

}else{

return false;

También podría gustarte