Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ListaLigada {
- private class Node {
- public int element;
- public Node next, previous;
- public Node(int nValue) {
- element = nValue;
- next = null;
- previous = null;
- }
- }
- private Node head;
- private int tamanho;
- public ListaLigada() {
- head = null;
- tamanho = 0;
- }
- public boolean isEmpty() {
- return head == null;
- }
- public boolean remove(int i) {
- if (isEmpty()) {
- return false;
- }
- Node delete = head, previous = null;
- while (delete != null && delete.element != i) {
- previous = delete;
- delete = delete.next;
- }
- if (delete == head) {
- head = head.next;
- head.previous = null;
- } else if (delete != null) {
- previous.next = delete.next;
- delete.next.previous = previous;
- } else if (delete == null) {
- return false;
- }
- tamanho--;
- return true;
- }
- public boolean add(int i) {
- Node newNode = new Node(i);
- Node actual = head, previous = null;
- while (actual != null && i > actual.element) {
- previous = actual;
- actual = actual.next;
- }
- if (previous == null) {
- newNode.next = head;
- head = newNode;
- } else {
- if (actual == null) {
- newNode.previous = previous;
- previous.next = newNode;
- } else {
- newNode.next = actual;
- actual.previous = newNode;
- previous.next = newNode;
- newNode.previous = previous;
- }
- }
- tamanho++;
- return true;
- }
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- Node actual = head;
- if (head == null) {
- return "Lista vazia!";
- }
- sb.append("Lista:\n");
- while (actual.next != null) {
- sb.append("" + actual.element + " -> ");
- actual = actual.next;
- }
- sb.append("" + actual.element + "\n");
- sb.append("\nLista reversa:\n");
- while (actual.previous != null) {
- sb.append("" + actual.element + " <- ");
- actual = actual.previous;
- }
- sb.append("" + actual.element + "\n");
- return sb.toString();
- }
- public static void main(String[] args) {
- ListaLigada ll = new ListaLigada();
- ll.add(5);
- ll.add(7);
- ll.add(3);
- ll.add(4);
- ll.remove(5);
- System.out.println(ll);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement