Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. package codigo;
  2.  
  3. public class Lista {
  4. private Pessoa inicio;
  5. private Pessoa fim;
  6.  
  7. public Lista(){
  8. this.inicio = null;
  9. this.fim = null;
  10. }
  11.  
  12. private void adicionaNoInicio(Pessoa p){
  13. //p<---X
  14. inicio.setAnterior(p);
  15. //p<--->X
  16. p.setProximo(inicio);
  17.  
  18. this.inicio = p;
  19. }
  20.  
  21. private void adicionaNoFim(Pessoa p){
  22. fim.setProximo(p);
  23. p.setAnterior(fim);
  24. this.fim = p;
  25. }
  26.  
  27. private void adicionarNoMeio(Pessoa P){
  28. Pessoa aux = this.inicio;
  29. // aux.getNome() < P.getNome()
  30. while(aux.getNome().compareTo(P.getNome()) <= 0){
  31. System.out.println(aux.getNome()+" < "+P.getNome());
  32. aux = aux.getProximo();
  33. System.out.println("Aux = "+aux.getNome());
  34. }
  35.  
  36. System.out.println(P.getNome()+"---->"+aux.getNome());
  37. P.setProximo(aux);
  38.  
  39.  
  40.  
  41. }
  42.  
  43. //C - D - E
  44. public void adicionar(Pessoa p){
  45. if(this.inicio == null){
  46. this.inicio = p;
  47. this.fim = p;
  48. }
  49. else if (p.getNome().compareTo(this.inicio.getNome()) < 0){
  50. adicionaNoInicio(p);
  51. }
  52. else if(p.getNome().compareTo(this.fim.getNome())> 0){
  53. adicionaNoFim(p);
  54. }
  55. else{
  56. adicionarNoMeio(p);
  57. }
  58.  
  59.  
  60. }
  61.  
  62.  
  63. public Pessoa getInicio() {
  64. return inicio;
  65. }
  66.  
  67. public void setInicio(Pessoa inicio) {
  68. this.inicio = inicio;
  69. }
  70.  
  71. public Pessoa getFim() {
  72. return fim;
  73. }
  74.  
  75. public void setFim(Pessoa fim) {
  76. this.fim = fim;
  77. }
  78.  
  79. @Override
  80. public String toString(){
  81. Pessoa a = this.inicio;
  82. String saida = "[";
  83.  
  84. while(a.getProximo() != null){
  85. saida += a.toString()+"<--->";
  86. a = a.getProximo();
  87. }
  88. saida += a.toString()+"]";
  89. return saida;
  90. }
  91.  
  92. public boolean existe(String nome){
  93. Pessoa lab2 = this.inicio;
  94. //A - B - C - D
  95. while(lab2 != null && lab2.getNome().compareTo(nome) != 0){
  96. System.out.println("Acessando "+lab2);
  97. lab2 = lab2.getProximo();
  98. }
  99.  
  100.  
  101. if(lab2 != null){
  102. System.out.println("Achou "+lab2);
  103. return true;
  104. }
  105.  
  106.  
  107. return false;
  108. }
  109.  
  110. public static void main(String args[]){
  111. Pessoa A = new Pessoa("A");
  112. Pessoa B = new Pessoa("B");
  113. Pessoa C = new Pessoa("C");
  114. Pessoa D = new Pessoa("D");
  115. Pessoa E = new Pessoa("E");
  116.  
  117. Lista l = new Lista();
  118. l.adicionar(A);
  119. l.adicionar(B);
  120. l.adicionar(C);
  121. l.adicionar(D);
  122. l.adicionar(E);
  123.  
  124. System.out.println(l.existe("D"));
  125.  
  126.  
  127.  
  128. }
  129.  
  130.  
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement