Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo - Questão 1 public boolean remove(String obj){ if (isEmpty()) { System.out.println("Empty " + name); return false; } Node current = firstNode; Node aux = null; if(current.getData() == obj){ firstNode = current.getNext(); return true; } Programação II – Prof. Mateus Raeder Questão 1 while(current.getNext() != null){ if(current.getNext().getData() == obj){ //remove aux = current.getNext(); current.setNext(aux.getNext()); return true; } aux = current; current = current.getNext(); } Programação II – Prof. Mateus Raeder Questão 1 if(current.getData() == obj){ lastNode = aux; lastNode.setNext(null); return true; } return false; } Programação II – Prof. Mateus Raeder Questão 2 /* Questão 2 * método insertAfter */ public boolean insertAfter(String obj1, String obj2){ Node current = firstNode; while(current != null){ if(current.getData() == obj1){ current.setNext(new Node(obj2, current.getNext())); return true; } current = current.getNext(); } return false; } Programação II – Prof. Mateus Raeder Questão 4 public class Questao4{ public static void main(String args[]){ List l = new List(); Teclado t = new Teclado(); int num; for(int i=0; i<10; i++){ num = t.leInt("Digite um numero: "); if(num < 0) l.insertAtBack(num); } l.print(); } } Programação II – Prof. Mateus Raeder Questão 5 /* Questão 5 * método find */ public int find(String o){ Node current = firstNode; int posicao = 0; while(current != null){ if(current.getData() == o){ return posicao; } posicao++; current = current.getNext(); } return -1; } Programação II – Prof. Mateus Raeder Questão 6 public class Questao6{ public List concatena(List x, List y){ List z = new List(); try{ while(!x.isEmpty()) z.insertAtBack(x.removeFromFront()); while(!y.isEmpty()) z.insertAtBack(y.removeFromFront()); }catch(UnderflowException e){ System.out.println(e.toString()); } return z; } Programação II – Prof. Mateus Raeder Questão 6 public static void main(String args[]){ Questao6 a = new Questao6(); List x = new List(); List y = new List(); x.insertAtBack("A"); x.insertAtBack("B"); x.insertAtBack("C"); x.insertAtBack("D"); x.print(); y.insertAtBack("E"); y.insertAtBack("F"); y.insertAtBack("G"); y.insertAtBack("H"); List z = a.concatena(x, y); x.print(); y.print(); z.print(); } } Programação II – Prof. Mateus Raeder Questão 7 public class Questao7{ public static void main(String args[]){ Teclado t = new Teclado(); Queue f = new Queue(); Stack p = new Stack(); Programação II – Prof. Mateus Raeder Questão 7 int num = t.leInt("Digite o número:"); while(num != 999){ if(num > 0) f.enqueue(num+""); if(num < 0) p.push(num+""); if(num == 0){ try{ System.out.println("Retirei da pilha: "+p.pop()); System.out.println("Retirei da fila: "+f.dequeue()); }catch(UnderflowException e){ System.out.println(e.toString()); } } System.out.println("Situação da pilha:"); p.print(); System.out.println("Situação da fila:"); f.print(); num = t.leInt("Digite o número:"); } } } Programação II – Prof. Mateus Raeder Questão 8 /* * Questão 8 */ public Queue inverte(){ Queue q = new Queue(); Stack s = new Stack(); try{ while(!isEmpty()) s.push(dequeue()); while(!s.isEmpty()) q.enqueue(s.pop()); }catch(UnderflowException e){ System.out.println(e.toString()); } return q; } Programação II – Prof. Mateus Raeder Questão 9 public class Questao9{ public static void main(String args[]){ Stack p1 = new Stack(); Stack p2 = new Stack(); Stack p3 = new Stack(); p1.push("A"); p1.push("B"); p1.push("C"); p1.push("D"); p1.push("E"); p1.push("F"); try{ while(!p1.isEmpty()) p3.push(p1.pop()); while(!p3.isEmpty()) p2.push(p3.pop()); }catch(UnderflowException e){ System.out.println(e.toString()); } p2.print(); } } Programação II – Prof. Mateus Raeder