Nogen som er gode til Java/LinkedList?

  • Jeg har et kæmpe problem, idet jeg skal aflevere en opgave i LinkedList programmeret i Java til mandag. Det var ellers gruppearbejde, men gruppestr. blev reduceret fra 4 til 3 og så stod jeg udenfor og jeg kan sagorsme ikke finde ud af det L***. Hvis der ikke falder en aflevering er jeg nemlig færdig på skolen, så jeg er lidt desperat. Jeg vil godt give et par hunde hvis der er nogen som kan fide ud af det.
    Cheres ;)
    P.S. Jeg har en pre-lavet node-klasse

    ASUS Rampage Extreme IV motherboard
    3930K @ 4646 Mhz
    GTX 1080
    4 x 4gb Mushkin 2133Mhz cl9
    Windows 10 Pro 64-bit
    Corsair TX850 V2

  • Det er meget længe siden, jeg rodede med Java sidst, men jeg har da et par bøger liggende endnu. ;)
    kan du bruge dette til noget ?


    //Demonstrate linked list
    import java.util.*;


    Class LinkedListDemo {
    public static void main(String args[]) {
    // create linked list
    LinkedList 11 = new LinkedList();


    // add elements to the linked list
    11.add("F");
    11.add("B");
    11.add("D");
    11.add("E");
    11.add("C");
    11.addLast("Z");
    11.addFirst("A");


    11.add(1, "A2");


    System.out.println("Original contents of 11: " + 11);


    // remove elements from the linked list
    11.remove("F");
    11.remove(2);


    System.out.println("Contens of 11 after deletion: " + 11);


    // remove first and last elements


    11.removeFirst();
    11.removeLast();


    System.out.println("11 after deleting first and last: " + 11);


    // get and set a value
    Object val = 11.get(2);
    11.Set(2, (String) val + " Changed");


    System.out.println("11 after change: " + 11);
    }
    }


    Sådan skulle det se ud:


    Outputs:
    Original contents of 11: A, A2, F, B, D, E, C, Z
    Contents after deletion: A, A2, D, E, C, Z
    After deletion of first and last: A2, D, E, C
    After change: A2, D, E, Changed, C

  • Det ligner godt nok lidt, men jeg tror ikke det er helt nok. Opgaveformuleringen ser således ud (Og som sagt så har jeg en pre-lavet node-klasse):


    Du skal implementere en variant af den abstrakte datatype Ordnet liste :

    Implementér klassen OrdnetListe og redegør kort for hver metodes tidskomplexitet.


    Kravene til implementationen er følgende :
    • Der må ikke anvendes eksisterende klasser (hverken fra bogen eller fra Java's API), bortset fra nedenstående Node-klasse.
    • Der skal anvendes dynamisk lagerallokering.
    • Der må ikke gøres brug af en dummy header-node. Listen må altså kun indeholde Node-objekter for eksisterende elementer
    • Alle metoder skal implementeres i klassen OrdnetListe. Der må ikke indføres en Iterator-klassen



    Klassen OrdnetListe :


    public class OrdnetListe
    {
    public OrdnetListe()
    {// post : En tom liste er oprettet
    }


    public boolean isEmpty()
    {// post : returnerer true, hvis antal elementer i listen = 0, ellers false
    }


    public int size()
    {// post : returnerer antal elementer i listen
    }


    public void insert(Comparable ny)
    {// post : ny er indsat i listen på korrekt plads,
    // forgængerelementer <= ny <= efterfølgerelementer
    }


    public boolean exist(Object o)
    {// post : returnerer true, hvis o findes i listen, ellers false
    }


    public boolean first()
    {// post : returnerer false, hvis listen er tom. Ellers positioneres
    // på listens første element og der returneres true
    }

    public boolean last()
    {// post : returnerer false, hvis listen er tom. Ellers positioneres
    // på listens sidste element og der returneres true
    }


    public boolean isValid()
    {// post : returnerer true, hvis der er positioneret på et element, ellers false
    }


    public boolean next()
    {// post : positioneringen flyttes til næste element i listen, hvis det er muligt, og der
    // returneres true. Hvis det ikke er muligt at positionere til næste element returneres false
    }

    public Object get()
    {// pre : isValid() == true
    // post : objektet på den aktuelle position returneres
    }




    public boolean remove(Object o)
    {// post : Hvis o fandtes i listen, er første forekomst af o blevet slettet og der
    // returneres true.
    // Hvis o ikke fandtes i listen returneres false.
    // Hvis den aktuelle positionering var på o inden, er isValid() == false,
    // ellers er den aktuelle positionering uændret
    }


    public Object remove()
    {// post : Hvis isValid() == true inden, er objektet på den aktuelle position slettet
    // fra listen og objektet returneres. Hvis isValid() == false inden, returneres
    // null.
    // isValid() == false
    }

    ASUS Rampage Extreme IV motherboard
    3930K @ 4646 Mhz
    GTX 1080
    4 x 4gb Mushkin 2133Mhz cl9
    Windows 10 Pro 64-bit
    Corsair TX850 V2

    Rettet en gang, sidst af supersonic9 ().