Algoritmer och datastrukturer TF3 Sy
samt
Algoritmer och datastrukturer med objektorienterad programmering

Veckouppgift för vecka 8

Listklassen igen!

1. Denna uppgift handlar om listklassen som du studerade i föregående veckouppgift.

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.

Dubbellänkade listor



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
2. I en dubbeländad lista kan insättning och uttag ske i båda ändar av listan.

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.

Träd

3. Lös denna lilla lätta uppgift

Anvisningar

Redovisa programkod, samt där så krävs i uppgiftsformulering de olika stegen i arbetsmetodiken. Därutöver krävs ingen dokumentation.

För handledning på denna uppgift hänvisas till Datortekniks jourhavande handledare eller Fredriks handledningstider


Uppgifterna lämnas in enligt anvisningarna i kursplanen.

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