SHOW:
|
|
- or go back to the newest paste.
1 | public class No{ | |
2 | No proximo; | |
3 | int elemento; | |
4 | ||
5 | public No (int elemento){ | |
6 | this.elemento = elemento; | |
7 | proximo = null; | |
8 | } | |
9 | } | |
10 | ||
11 | public class Lista{ | |
12 | No primeiro; | |
13 | int tamanho; | |
14 | ||
15 | //adiciona no final da lista | |
16 | - | public void addFinal(int e){ |
16 | + | public void addFinal(int e){ |
17 | - | if(primeiro == null){ |
17 | + | if(primeiro == null){ |
18 | - | primeiro = new No(e); |
18 | + | primeiro = new No(e); |
19 | - | tamanho ++; |
19 | + | tamanho ++; |
20 | - | }else{ |
20 | + | }else{ |
21 | - | addFinalRec(e, primeiro); |
21 | + | addFinalRec(e, primeiro); |
22 | } | |
23 | } | |
24 | ||
25 | - | public void addFinalRec(int e, No no){ |
25 | + | public void addFinalRec(int e, No no){ |
26 | - | if(no.proximo == null){ |
26 | + | if(no.proximo == null){ |
27 | - | no.proximo = new No(e); |
27 | + | no.proximo = new No(e); |
28 | - | tamanho++ |
28 | + | tamanho++ |
29 | - | }else |
29 | + | }else |
30 | - | addFinalRec(e, no.proximo); |
30 | + | addFinalRec(e, no.proximo); |
31 | } | |
32 | ||
33 | ||
34 | //remove do final da lista | |
35 | - | public No removeFinal(int e){ |
35 | + | public No removeFinal(int e){ |
36 | - | if(primeiro.proximo == null){ |
36 | + | if(primeiro.proximo == null){ |
37 | - | primeiro = null; |
37 | + | primeiro = null; |
38 | - | tamanho--; |
38 | + | tamanho--; |
39 | - | return primeiro; |
39 | + | return primeiro; |
40 | - | }else{ |
40 | + | }else{ |
41 | - | return removeFinalRec(e, primeiro); |
41 | + | return removeFinalRec(e, primeiro); |
42 | } | |
43 | ||
44 | } | |
45 | ||
46 | - | public No removeFinalRec(int e, No no){ |
46 | + | public No removeFinalRec(int e, No no){ |
47 | - | if(no.proximo==null){ |
47 | + | if(no.proximo==null){ |
48 | - | no==null; |
48 | + | no==null; |
49 | - | tamanho--; |
49 | + | tamanho--; |
50 | - | return no; |
50 | + | return no; |
51 | - | }else |
51 | + | }else |
52 | - | return removeFinalRec(e, no.proximo); |
52 | + | return removeFinalRec(e, no.proximo); |
53 | } | |
54 | ||
55 | public int soma(){ | |
56 | return somaRec(primeiro, 0); | |
57 | } | |
58 | ||
59 | public int somaRec(No no, int soma){ | |
60 | if(no==null) return 0 | |
61 | else{ | |
62 | if(no.proximo==null) return soma+no.elemento; | |
63 | else | |
64 | return somaRec(no.proximo, soma+) | |
65 | } | |
66 | } | |
67 | } |