Sí, podemos implementar dos pilas usando array. En este ejemplo, hemos usado la clase, por lo que para hacer dos pilas tenemos que hacer dos objetos de la clase.
#include
#define max 1000
pila de clase {
int top;
público:
int a [max];
Apilar(){
arriba = -1;
}
- ¿Cómo se escriben los algoritmos de espacio?
- ¿Cuál es el número mínimo y máximo de materias que ofrece un estudiante en una escuela secundaria estadounidense?
- ¿Cuál es el algoritmo más complicado por el que has pasado?
- Cómo implementar un algoritmo de sincronización de reloj Berkeley en C ++
- ¿Cuál es el mejor algoritmo de reconocimiento de patrones hoy?
bool stack_empty ();
empuje nulo (int x);
int pop ();
pantalla vacía ();
};
bool Stack :: stack_empty () {
si (arriba == – 1)
volver verdadero;
más
falso retorno;
}
pila vacía :: push (int x) {
int s = max-1;
if (top <s) {
top = top + 1;
a [arriba] = x;
}
más
std :: cout << "desbordamiento" << "\ n";
}
int Stack :: pop () {
if (stack_empty () == verdadero)
std :: cout << "Underflow" << "\ n";
más{
-parte superior;
devolver a [top + 1];
}
}
pila vacía :: display () {
para (int i = 0; i <= top; i ++) {
std :: cout << a [i] << "";
}
}
int main () {
Stack stack1;
stack1.push (15);
stack1.push (6);
stack1.push (2);
stack1.push (9);
stack1.push (3);
stack1.display ();
std :: cout << "\ n";
std :: cout << stack1.pop () << "\ n";
stack1.display ();
devuelve 0;
}
[1] C ++: Implementación de Stack usando Array (Estructura de datos)
Notas al pie
[1] C ++: Implementación de Stack usando Array (Estructura de datos)