Uppgift 2 våren 2014Uppgiften ska lämnas till din övningsledare på övningen den 31/1. För godkänt måste du ha gjort samtliga deluppgifter. Det är tillåtet att göra enstaka fel och misstag men det är viktigt att du försöker lösa samtliga uppgifter. Om du kör fast med någon uppgift så finns det som vanligt hjälp att få på labbarna. HemuppgiftStudera kapitel 9 i programmeringsboken. Skriftlig uppgiftArv i JavaLämna in lösningar till uppgift 9.11-9.16 i programmeringsboken (uppl 4: 9.12-9.17). Länkade listorEn lista, ett antal element ordnade i en linjär struktur, är den kanske enklaste och mest grundläggande datastrukturen. Java erbjuder flera implementationer av listor:
En länkad lista är en sekvens av listelement förbundna av pekare. En länkad lista med tre heltal [2, 2, 1] ser ut så här.
---------- ---------- ---------- | | | | | | | | | --->| 2 | -------->| 2 | -------->| 1 |null| | | | | | | | | | ---------- ---------- ---------- Listelementen kan implementeras som objekt med två instansvariabler, en variabel som innehåller nodens värde och en variabel som pekar på nästa element i listan:
class ListElement { int data; ListElement next; } Du ska göra följande uppgifter.
Som vanligt ska du lämna in en utskrift av all kod – dvs även testkoden. Det kan vara svårt att testa datastrukturer; en metod kan returnera rätt svar men ändå göra fel. Det händer till exempel om den lämnar efter sig instansvariabler med felaktiga värden. En bra sätt att upptäcka den typen av fel är att använda en testmetod som undersöker om listan befinner sig i ett korrekt tillstånd:
Du ska implementera en metod |