Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package opgave2;
- public class DoubleSortedLinkedList {
- private Node first;
- private Node last;
- public DoubleSortedLinkedList() {
- first = new Node(null);
- last = new Node(null);
- first.next = last;
- last.previous = first;
- }
- /**
- * Tilføjer e til listen, så listen fortsat er sorteret i henhold til den
- * naturlige ordning på elementerne
- */
- public void addElement(String e) {
- Node ny = new Node(e);
- Node temp = first;
- boolean found = false;
- while (temp.next != last && !found) {
- if (temp.next.data.compareTo(e) > 0) {
- found = true;
- } else {
- temp = temp.next;
- }
- }
- if (found) {
- ny.next = temp.next;
- ny.previous = temp;
- temp.next = ny;
- ny.next.previous = ny;
- } else {
- temp.next = ny;
- ny.next = last;
- ny.previous = temp;
- last.previous = ny;
- }
- }
- /**
- * Fjerner den første forekomst af e i listen. Listen skal fortsat være
- * sorteret i henhold til den naturlige ordning på elementerne.
- *
- * @return true hvis e blev fjernet fra listen ellers returneres false.
- */
- public boolean deleteElement(String e) {
- boolean found = false;
- Node temp = first;
- while (!found && temp.next.data != last.data) {
- if (temp.next.data.equals(e)) {
- found = true;
- } else {
- temp = temp.next;
- }
- }
- if (found) {
- Node temp2 = temp.next;
- temp.next = temp2.next;
- temp2.next.previous = temp2.previous;
- }
- return found;
- }
- /**
- * Udskriver elementerne fra listen i sorteret rækkefølge
- */
- public void udskrivElements() {
- Node temp = first;
- while (temp != null) {
- if (temp.data == null) {
- temp = temp.next;
- } else {
- System.out.println(temp.data);
- temp = temp.next;
- }
- }
- }
- /**
- * Returnerer antallet af elementer i listen
- */
- public int countElements() {
- int count = 0;
- Node temp = first;
- while (temp != null) {
- count++;
- temp = temp.next;
- }
- return count;
- }
- public class Node {
- private Node next;
- private String data;
- private Node previous;
- public Node(String data) {
- this.data = data;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement