Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Created by Julio Tentor <jtentor@fi.unju.edu.ar>
- //
- #include "stack.h"
- #include <stdexcept>
- stack::stack(int capacidad) {
- this->capacidad = capacidad;
- this->datos = new char[this->capacidad];
- this->cuenta = 0;
- }
- stack::~stack() {
- delete [] this->datos;
- }
- void stack::push(const char elemento) {
- if (this->cuenta >= this->capacidad) {
- throw std::runtime_error("La pila está llena...");
- }
- this->datos[this->cuenta] = elemento;
- ++this->cuenta;
- }
- char stack::pop() {
- if (this->empty()) {
- throw std::runtime_error("ERROR La pila esta vacía...");
- }
- --this->cuenta;
- return this->datos[this->cuenta];
- }
- char stack::peek() {
- if (this->empty()) {
- throw std::runtime_error("ERROR La pila esta vacía...");
- }
- return this->datos[this->cuenta - 1];
- }
- bool stack::empty() {
- return this->cuenta <= 0;
- }
- int stack::count() {
- return this->cuenta;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement