Enkellänkade listor - IDA.LiU.se

January 8, 2018 | Author: Anonymous | Category: Engineering & Technology, Datavetenskap, Data Structures
Share Embed Donate


Short Description

Download Enkellänkade listor - IDA.LiU.se...

Description

Link¨opings Universitet Institutionen f¨or datavetenskap (IDA) UPP-gruppen

2014-09-23

Enkell¨ ankade listor M˚ al I denna laboration ska du l¨ ara dig att skapa och anv¨anda dig av dynamiska datastrukturer och pekare.

Uppgift Din uppgift ¨ar att skapa en dynamisk datastruktur f¨or lagring av heltal samt konstruera ett antal funktioner (beskrivna nedan) som opererar p˚ a denna datastruktur. Den datastruktur som ska skapas ar varje element har tv˚ a delar, det data som ska lagras och en pekare till n¨ asta ¨ar en enkell¨ankad lista d¨ element. V¨ardena i listan ska lagras i stigande ordning. ¨ Aven om det fr¨ amst ¨ ar listan och de funktioner som hanterar listan som ¨ar m˚ alet med denna laboration ing˚ ar det a¨ven att du skapar ett huvudprogram som noggrant testar dina funktioner. Annars a ¨r det sv˚ art att bevisa att de verkligen fungerar.

Del A I denna del ska du skapa en lista som lagrar heltal. Alla funktioner som du skapar ska vara rekursiva. I filen List.h ska du skapa en datatyp List Type enligt beskrivningen ovan. Detta implementeras med en pekare till en posttyp (struct) som i sin tur lagrar ett heltal och en pekare till n¨asta element i listan. Det data som lagras i listan ska vara en kopia av det data som stoppas in. F¨oljande funktioner ska deklareras i filen List.h och definitionen ska skrivas i filen List.cc:

insert Funktionen insert ska stoppa in ett nytt v¨arde sorterat i listan. Som parametrar ska insert ta den lista d¨ar ett data ska stoppas in samt det data som ska l¨aggas till. Funktionen returnerar true om operationen gick bra och false om v¨ ardet redan finns i listan. Observera att v¨ardet i det senare fallet inte ska stoppas in.

remove remove ska ta bort ett specifikt v¨ arde ur en lista. remove ska ta tv˚ a parametrar, en lista och det v¨ arde som ska tas bort. Om v¨ ardet finns i listan tas det bort och fuktionen returnerar true, annars returneras false.

empty empty returnerar true om det inte finns n˚ agra lagrade v¨arden i listan som empty tar som parameter, annars false.

Enkell¨ankade listor

2014-09-23

member member kontrollerar om ett visst v¨ arde finns i listan. Funktionen ska ta tv˚ a parametrar, en lista och ett v¨arde och returerar true om v¨ ardet finns i listan annars false.

print print ska skriva ut en lista. Som parameter ska print ta den lista som ska skrivas ut. Formatet p˚ a utskriften f˚ ar du best¨ amma sj¨ alv. print har inga returv¨arden.

clear clear tar bort alla element ur en lista och ˚ aterst¨aller den s˚ a att det g˚ ar att lagra nya v¨arden i listan. Som parameter tar clear en lista som ska t¨ommas.

size size returnerar l¨ angden av listan (antal element). Som parameter ska size ta den lista som ska unders¨okas.

Del B a att de Skapa en ny fil List iter.cc. Din uppgift ¨ar nu att skriva om de funktioner du skrev i del A s˚ utf¨or uppgifterna iterativt ist¨ allet f¨ or rekursivt. Du ska inte beh¨ova g¨ora n˚ agra ¨andringar i filen List.h.

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF