Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package codigo;
- public class Lista {
- private Pessoa inicio;
- private Pessoa fim;
- public Lista(){
- this.inicio = null;
- this.fim = null;
- }
- private void adicionaNoInicio(Pessoa p){
- //p<---X
- inicio.setAnterior(p);
- //p<--->X
- p.setProximo(inicio);
- this.inicio = p;
- }
- private void adicionaNoFim(Pessoa p){
- fim.setProximo(p);
- p.setAnterior(fim);
- this.fim = p;
- }
- private void adicionarNoMeio(Pessoa P){
- Pessoa aux = this.inicio;
- // aux.getNome() < P.getNome()
- while(aux.getNome().compareTo(P.getNome()) <= 0){
- System.out.println(aux.getNome()+" < "+P.getNome());
- aux = aux.getProximo();
- System.out.println("Aux = "+aux.getNome());
- }
- System.out.println(P.getNome()+"---->"+aux.getNome());
- P.setProximo(aux);
- }
- //C - D - E
- public void adicionar(Pessoa p){
- if(this.inicio == null){
- this.inicio = p;
- this.fim = p;
- }
- else if (p.getNome().compareTo(this.inicio.getNome()) < 0){
- adicionaNoInicio(p);
- }
- else if(p.getNome().compareTo(this.fim.getNome())> 0){
- adicionaNoFim(p);
- }
- else{
- adicionarNoMeio(p);
- }
- }
- public Pessoa getInicio() {
- return inicio;
- }
- public void setInicio(Pessoa inicio) {
- this.inicio = inicio;
- }
- public Pessoa getFim() {
- return fim;
- }
- public void setFim(Pessoa fim) {
- this.fim = fim;
- }
- @Override
- public String toString(){
- Pessoa a = this.inicio;
- String saida = "[";
- while(a.getProximo() != null){
- saida += a.toString()+"<--->";
- a = a.getProximo();
- }
- saida += a.toString()+"]";
- return saida;
- }
- public boolean existe(String nome){
- Pessoa lab2 = this.inicio;
- //A - B - C - D
- while(lab2 != null && lab2.getNome().compareTo(nome) != 0){
- System.out.println("Acessando "+lab2);
- lab2 = lab2.getProximo();
- }
- if(lab2 != null){
- System.out.println("Achou "+lab2);
- return true;
- }
- return false;
- }
- public static void main(String args[]){
- Pessoa A = new Pessoa("A");
- Pessoa B = new Pessoa("B");
- Pessoa C = new Pessoa("C");
- Pessoa D = new Pessoa("D");
- Pessoa E = new Pessoa("E");
- Lista l = new Lista();
- l.adicionar(A);
- l.adicionar(B);
- l.adicionar(C);
- l.adicionar(D);
- l.adicionar(E);
- System.out.println(l.existe("D"));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement