5.1 Opgave i forlængelse af Vector eksemplet
Denne opgave tager udgangspunkt i programmet, som viser brugen af en Vector til indsættelse
af strenge i sorteret rækkefølge. Modificer programmet således at strengene i Array'et args, som altid er parameter til hovedprogrammet main, indsættes i variablen 'store' inden de af brugeren indtastede strenge bliver indsat. Se dernæst på det logiske udtryk, som styrer while løkken i proceduren insert:
Pt. er der ingen løsning til denne opgave |
5.2 Opgave om associative arrays
Denne opgave har til formål at få erfaringer med associative arrays, ala Java's HashTabel.
Lav et program der på en naturlig måde associerer elementer i mængden af tekststrenge, som repræsenterer heltal,
til elementer i mængden af heltal. Eksempelvis skal strengen 'en' associeres til 1, 'to' til
2, 'enogtyve' til 21, osv. Associeringen skal foretages på baggrund af indtastninger
foretaget af brugeren af programmet. Brugeren af programmet angiver altså par af
tekstrenge og tal, som associeres. På baggrund af de registrerede associeringer
kan brugeren slå talværdien op af en given en tekstreng, som repræsenterer tallet. Programmet skal benytte et associativt array til formålet. Konkret anbefales det at benyttet en Hashtabel, java.util.HashTable i denne opgave. Pt. er der ingen løsning til denne opgave |
5.3 Opgave om cirkulære lister
Formålet med denne opgave er primært at få øvelse i at arbejde med 'pointere' (referencer)
på relativt lavt niveau. En del af jer har aldrig prøvet det før. Dette er chancen...
Øvelsen er dog også en god træning i objekt-orienteret programmering. Ud fra ideerne på sliden, som er knyttet til denne opgave, ønskes en implementation af en klasse CircularList i Java. Bemærk referencen, som kommer 'udefra' går til det sidste element i den cirkulære liste. Tænk på denne reference som kommende fra objektet af typen CircularList. Følgende udgør klient-interfacet af klassen:
Indsæt et nyt første-element med indhold el i den cirkulære liste. void insertLast(Object el) void deleteFirst() void deleteLast() Object retrieveFirst() Object retrieveLast() int size() Aftest klassen CircularList. Estimer køretiden af operationerne i klassen CircularList. (Datalogerne: Brug ``Store O'' notation). Hints: Det kan være en god ide at forsyne klassen CircularList med en række interne hjælpeoperationer, såsom returnering af første elements og næstsidste elements kædeobjekt. Endvidere er en operation, som tømmer listen og en operation som laver listen 'singulær' (altså bestående af netop ét element) nyttige. |
Generated: Monday March 31, 2008, 12:08:30
on the system cs-unix