import java.util.Iterator; public class Hovedprogram { public static void main(String[] args) { // int[] liste = {1, 2, 3,4,5,6}; // for (int tall : liste) { // System.out.println(tall); // } Lenkeliste liste = new Lenkeliste<>(); // liste.settInn(1); // liste.settInn(6); // liste.settInn(6); // liste.settInn(4); // liste.settInn(22); // liste.settInn(19); // boolean verdi = liste.sok(19); // System.out.println(verdi); // for (int tall : liste) { // System.out.println(tall); // } liste.settInnCompare(1); liste.settInnCompare(6); liste.settInnCompare(6); liste.settInnCompare(4); liste.settInnCompare(5); liste.settInnCompare(22); liste.settInnCompare(19); for (int tall : liste) { System.out.println(tall); } } } class Lenkeliste> implements Iterable { int size; Node head; Lenkeliste() { size = 0; head = null; } class Node { Node neste; E value; Node(E value) { this.value = value; } } public int compareTo(E annen) { return this.compareTo(annen); } void settInn(E verdi) { size++; if (head == null) { head = new Node(verdi); return; } Node denne = head; while (denne.neste != null) { denne = denne.neste; } denne.neste = new Node(verdi); } void settInnCompare(E verdi) { if (head == null) { head = new Node(verdi); } Node denne = head; Node neste = denne.neste; Node ny = new Node(verdi); while (neste != null && verdi.compareTo(neste.value) > 0) { denne = neste; neste = neste.neste; } denne.neste = ny; ny.neste = neste; } boolean sok (E verdi) { Node denne = head; while (denne.value != verdi) { denne = denne.neste; if (denne == null) return false; } return true; } @Override public Iterator iterator(){ return new LenkelisteIterator(); } class LenkelisteIterator implements Iterator { Node denne = head; @Override public boolean hasNext() { return denne != null; } @Override public E next() { E element = denne.value; denne = denne.neste; return element; } } }