Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CARRERA: INFORMÁTICA
Declaración de Pilas
Informe
PROFESORA: ALUMNO:
CI: 24057408
INTRODUCCIÓN_____________________________________Pág.3
DESARROLLO_______________________________________Pág.4
CONCLUSIÓN________________________________________Pág.12
REFERENCIAS BIBLIOGRÁFICAS________________________Pág.13
ANEXOS_____________________________________________Pág.14
INTRODUCCIÓN
Pilas en programación
Una pila (stack en inglés) es una lista ordenada o estructura de datos que permite
almacenar y recuperar datos, siendo el modo de acceso a sus elementos de tipo
LIFO (del inglés Last In, First Out, «último en entrar, primero en salir»).
Pila en C ++
Para usar pilas en C++, habrá que importar el módulo <stack> a nuestro
programa. Para crear una pila, como cualquier otro objeto en C++, será necesario
darle nombre. Siempre que creemos una pila estaremos creando una pila vacía
Una pila (stack) es una coleccion ordenada de elementos en la cual los datos se
insertan o se retiran por el mismo extremo llamado “parte superior” de la pila. Existe
solamente un lugar en donde cualquier elemento puede ser agregado a la pila.
Pila en C
Entonces, una pila se define formalmente como una colección de datos a los cuales
se puede acceder mediante un extremo, que se conoce generalmente como tope.
Las pilas no son estructuras fundamentales de datos Para su representación
requieren el uso de otras estructuras de datos, como arreglos o listas.
Pila push
Pila, ejemplos
Una pila (a veces llamada una “pila push-down”) es una colección ordenada de
ítems donde la adición de nuevos ítems y la eliminación de ítems existentes siempre
tienen lugar en el mismo extremo. Tal extremo se denomina el “tope”. El extremo
opuesto se denomina la “base”.
Las pilas son estructuras LIFO (last in, first out), el último que entra es el primero en
salir.
Pila dinámica
Es una estructura de datos lineal que solamente tiene una puerta de acceso por la
que se insertan y eliminan los datos. Los datos se insertan uno detrás de otro.
Que en una cola lo primero que entra es lo primero que sale y en una pila lo primero
que sale es lo último que se metió.
Para implementar una pila se utiliza un arreglo de cierto tipo como base: Tipo base
[tamaño]; Tipo puede ser: int, doublé, char, cadenas, o una clase definida por el
usuario. Se usa un apuntador a la parte más alta de la pila, que se denomina el tope.
Una pila nos permitirá introducir un nuevo elemento en la cima ("apilar", en inglés
"push") y quitar el elemento que hay en la cima ("desapilar", en inglés "pop"). Este
tipo de estructuras se suele denotar también usando las siglas "LIFO" (Last In First
Out: lo último en entrar es lo primero en salir).
El método pila
La cola FIFO
Las colas FIFO (primero en entrar, primero en salir) tienen todas las funciones de
las colas estándar, pero están diseñadas para mejorar los mensajes entre
aplicaciones cuando el orden de las operaciones y los eventos es fundamental, o
cuando no se puede tolerar la existencia de duplicados.
TDA cola. Una cola (queue en inglés) es una lista de elementos en donde siempre
se insertan nuevos elementos al final de la lista y se extraen elementos desde el
inicio de la lista. También se conoce a las colas como listas FIFO (FIRST IN - FIRST
OUT: el primero que entra es el primero que sale).
Tipos de colas
– Cola (Queue)
Es el elemento donde se espera en función de que los servidores tengan capacidad
para atender. Las podemos clasificar en cola única o múltiple, por tipo de disciplina:
FIFO, LIFO, RSS, Priority, WFQ, así como por la tasa de abandono. Cola Única /
Cola múltiple.
Cola FIFO
Las colas FIFO (primero en entrar, primero en salir) tienen todas las funciones de
las colas estándar, pero están diseñadas para mejorar los mensajes entre
aplicaciones cuando el orden de las operaciones y los eventos es fundamental, o
cuando no se puede tolerar la existencia de duplicados.
Las dos operaciones básicas para las pilas son: PUSH(x, P) insertar un elemento x
en el tope de la pila P. POP(P) devuelve el elemento que se encuentra en el tope
de la pila P y lo elimina
Ejemplo de Pila
Lenguaje: C++
#include <iostream>
struct nodo {
char dato;
nodo* siguiente;
};
nodo* tope;
//PROTOTIPOS
bool estaVacia();
void push(char valor);
void pop();
char ver();
int main() {
string cadena;
cout<<"Ingrese una cadena de caracteres"<<endl;
cin >> cadena;
// Almacenar los caracteres en la pila
for (char c : cadena) {
push(c);
}
cout << "Cadena invertida: "<<endl;;
bool estaVacia() {
return tope == NULL;
}
void push(char valor) {
nodo* nuevo = new nodo;
nuevo->dato=valor;
nuevo->siguiente = tope;
tope = nuevo;
}
void pop() {
if (!estaVacia()) {
nodo* temp = tope;
tope = tope->siguiente;
delete temp;
}
}
char ver() {
if (!estaVacia()) {
return tope->dato;
}
return '\0';
}
CONCLUSIÓN
Una vez finalizado este informe tenemos más conocimiento sobre la declaración de
pilas y qué es y cómo se puede representar como realizar las operaciones con la
estructura de la pila y diseñar algoritmos para el tratamiento de pila.
REFERENCIAS BIBLIOGRÁFICAS
https://www.google.com/search?q=DECLARACI%C3%93N+DE+PILAS&source=l
mns&bih=1076&biw=2486&hl=es-
https://www.google.com/search?q=https%3A%2F%2Fccc.inaoep.mx%2Fingreso%
2Fprogramacion%2Fcorto2015%2FCurs
https://www.google.com/search?q=%E2%80%A2%09https%3A%2F%2Fwww.utm.
mx%2F~rruiz%2Fcursos%2FED%2Fmaterial%2Fpila
https://www.google.com/search?q=%E2%80%A2%09https%3A%2F%2Fwww.udb.
edu.sv%2Fudb_files%2Frecursos_guias%2Finformatica-ingenieria%
ANEXOS