Considerações sobre as listas implementadas em JAVA
public, protected ou private)
- note que se existir mais de uma classe pública ocorrerá um erro de
compilação.
Arquivo não deve ser parte do código fonte.
java.util. O propósito da disciplina é exatamente
ensinar como esses Algoritmos e Estruturas de Dados funcionam de forma que o aluno
sáiba implementá-los e/ou modificá-los de acordo com sua
necessidade. É extremamente aconselhável que apenas classes do
pacote java.lang sejam utilizadas - nada 'pronto' pode ser usado.
L0Q0) Implemente uma pilha (máximo 1000) utilizando array, onde o tipo básico é o registro
Pessoa Nome : String; E-mail : String;
class Pessoa {
String nome;
String mail;
Pessoa() {}
Pessoa(String n, String m) {
nome = n;
mail = m;
}
}
class UnderflowException extends Exception {
UnderflowException() {}
UnderflowException(String msg) {
super(msg);
}
}
class OverflowException extends Exception {
OverflowException() {}
OverflowException(String msg) {
super(msg);
}
}
class Pilha {
Pessoa[] pilha = new Pessoa[1000];
int sp = 0;
void push(Pessoa p) throws OverflowException {
if (sp < 1000) {
pilha[sp++] = p;
} else {
throw new OverflowException("Overflow pushing "+p.nome+"!");
}
}
Pessoa pop() throws UnderflowException {
if (sp > 0) {
return pilha[--sp];
} else {
throw new UnderflowException("Underflow!");
}
}
boolean empty() {
return sp == 0;
}
}