class Prioritetsko { private class Node { T data; int prioritet; Node neste = null; Node (T data, int prioritet) { this.data = data; this.prioritet = prioritet; } } private Node forste = null; private int ant = 0; public void settInn(T inn, int prio) { Node ny = new Node(inn, prio); ant++; if (forste == null) { forste = ny; } else if (ny.prioritet <= forste.prioritet) { ny.neste = forste; forste = ny; } else { Node p = forste; while (p.neste != null && p.neste.prioritet < ny.prioritet) { p = p.neste; } ny.neste = p.neste; p.neste = ny; } } public T taUt() { // hvis listen er tom, returner null if (forste == null) return null; T ut = forste.data; forste = forste.neste; ant--; return ut; } public int antall() { return ant; } }