Lista 2. Exercício 3.

 

1

// A solução proposta especializa a classe pilha já definida

2

 

3

class pilhamax extends pilha {

4

       public maxpilha( int aux ) {

5

            super();

6

            if( (aux > 100) || (aux < 0) ) // teste de consistência

7

               max = 100;                  // maior valor aceito

8

            else

9

               max = 0;

10

        }

11

       public maxpilha() {

12

            super();

13

            max = 100;

14

       }

15

       public void insere(Object _ob) {

16

              if( nbelem < max ) {

17

                 nbelem++;

18

                elem aux = prim;

19

                prim = new elem(_ob, aux);

20

              } // else: não insere...

21

        }

22

 

23

       public Object retira() {

24

               if( nbelem > 0 ) {

25

                  nbelem--;

26

                  Object aux = prim.getelem();

27

                  prim = prim.getnext();

28

                  return aux;

29

               }

30

               else // a lista está vazia

31

                   return null;

32

       }

33

      

34

       // Os métodos push e pop definidos em pilha continuam válidos