Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Copyright [2015] <Salvatore Junior Amore>
- template<typename T>
- class Pilha {
- private:
- int const MaxPilha = 100;
- T *m_dados;
- int ctrl = -1;
- int tamanho;
- public:
- Pilha() {
- m_dados = new T[MaxPilha];
- tamanho = MaxPilha;
- }
- Pilha<T>(int t) {
- m_dados = new T[t];
- tamanho = t;
- }
- void empilha(T dado) {
- if (PilhaCheia()) {
- throw 0;
- }else {
- ctrl++;
- m_dados[ctrl] = dado;
- }
- }
- T desempilha() {
- if (PilhaVazia()) {
- throw 1;
- }else {
- ctrl--;
- }
- }
- T topo() {
- return m_dados[ctrl];
- }
- int getPosTopo() {
- if (PilhaVazia()) {
- throw 1;
- }else {
- return ctrl;
- }
- }
- void limparPilha() {
- ctrl = -1;
- }
- bool PilhaVazia() {
- return (ctrl == -1);
- }
- bool PilhaCheia(){
- return (ctrl == tamanho - 1);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment