Løsningsforslag til
utvalgte oppgaver
11.2-1Variant 1
tar utgangspunkt i
Kalkulatortest.c, og har endret minst mulig.
Variant 2 tar også i bruk andre
muligheter vi får når vi går over fra c til c++, nemlig klasser og
arv. Her har vi derfor tatt utgangspunkt i
Kalkulatortest.java og endret det nødvendige.
11.3-1
Stabil sortering er bare et poeng når det vi sorterer inneholder
flere opplysninger enn bare sorteringsverdiene. Om to 5-tall bytter
plass, merker vi ingenting, men hvis to personobjekter som sorteres på
etternavn, bytter plass, vil vi merke det selv om begge har verdi
"Olsen".
11.3-2
Se Kalkulatortest.java.
Har valgt å bruke LinkedList til både kø og stakk. Siden LinkedList
er implementert som en sirkulær dobbeltlenket liste, er den en
effektiv datastruktur når vi skal legge inn, fjerne og få tak i første
og/eller siste element, og passer derfor bra til både kø og stakk.
Vi kunne også ha brukt ArrayList. For stakk ville det bare innebære
at vi bør legge inn og fjerne siste element i stedet for første. For
kø bør vi ikke fjerne elementer fysisk, men i stedet ha en teller
eller en iterator som holder orden på hvilket element som er fremst i
køen.
11.4-1
Vi kan bruke set-konteineren. Se
Ordteller.cpp eller Ordteller.java 11-3 Se Primtall.cpp
eller Primtall.java |