Utöka klassen med en metod void reverse() som vänder på en lista.
Metoden skall skrivas rekursivt och använda listklassens primitiver på ett relevant sätt.
För denna uppgift ska du i detalj redovisa samtliga steg enligt arbetsmetodiken i föreläsningsanteckningarna.
Jag har hittat (och rättat!) en bug i klassen Dlist den 16 feb 20.02. Rapportera eventuella :-D återstående buggar här. Det når både Fredrik och mig. Anders |
---|
a) Skriv en metod void reverse() som vänder på en dubbellänkad lista (För dubbellänkning: Se föreläsningsanteckningarna och/eller Esakov-Weiss). Du skall lägga metoden till klassen Dlist, som finns i kompendiet.
Metoden får skrivas iterativt eller rekursivt och du väljer själv om du vill använda klassens primitiver eller ej.
Redovisa en beskrivning av din valda algoritm för reverseringen samt programkod.
b) Utöka klasssen med en metod bool delete_member(Type el). Metoden ska returnera sant eller falskt beroende på om elementet el finns i den anropade listan eller ej. Om elementet finns skall det tas bort.
Meoden skall skrivas rekursivt och använda listklassens primitiver på ett relevant sätt. Ingen felhantering behövs. Observera att listan i övrigt måste finnas kvar oförändrad efter anropet. För denna uppgift ska du redovisa fallanalys och programkod.
3. Lös denna lilla lätta uppgift
För handledning på denna uppgift hänvisas till Datortekniks jourhavande handledare eller Fredriks handledningstider
Notera att uppgifter som lämnas in på annat sätt, eller vid senare tidpunkt, inte kommer att beaktas.
Försättsblad finns här.
Fredrik Larsson <fredrikl@DoCS.UU.SE> Anders Berglund <Anders.Berglund@DoCS.UU.SE> Last modified: Wed Feb 18 15:58:50 MET 1998