Stack:
Lokale variabele leven alleen voor een bepaalde tijd totdat de functie voorbij is.
Geheugen in de stack wordt opnieuw gebruikt.
LIFO
Dynamic memory management
Hierbij ga je dus memory reserveren en vrijgeven om zo je memory onder controle te
houden.
‘malloc(), realloc(), free(ptr)’
Deze memory staat altijd op de heap
Via de functie malloc kan je het aantal bytes reserveren wat je nodig hebt
Via de functie free kan je al dit geheugen weer vrijgeven. Let hierbij op dat free altijd een
pointer wil hebben
Als je memory vrij gaat geven wat niet gereserveerd was crasht het programma.
Met realloc kan je memory wat je via malloc hebt vrijgegeven opnieuw reserveren. Zie dit als
bijvoorbeeld je had eerst 64 nodig en je hebt nu bijvoorbeeld 50 nodig dan kan je dit omlaag
halen om zo het weer vrij te maken voor andere.
Dynamic array’s
Een gereserveerd stuk capaciteit is een array. Dit kan weer opnieuw worden veranderd door realloc
te doen.
Random access / lookup: dit betekent gewoon dat je op een specifiek punt in de array de
opgeslagen data bekijkt.
Append: hier wordt er een nieuw element toegevoegd aan het einde van de array. Kan zijn
dat er gebruik moet worden gemaakt van realloc.
Insertion: elementen kunnen worden toegevoegd in het midden van een array alleen moet
er hier wel voor worden geschoven.
Removal: als er een element wordt verwijderd moet alles wel worden opgeschoven dat het
weer achter elkaar zit.
, Linked list:
Voordeel van een linked list is dat het overal in het geheugen kan staan. Een element van een linked
list bevat namelijk altijd een waarde (data) en een pointer naar het volgende element.
Nadeel is dat een linked list duur is. Dus op het moment dat er iets verwijderd of toegevoegd worden
moet alle nodes de pointer weer naar de goede node hebben staan. Voor kleine codes niet handig
Single vs dubbel linked list: een single linked list wijst alleen vanaf een node naar de volgende node(-
>next) een dubbel linked list wijst ook naar de vorige node(->next, ->prev).
Access/lookup: hierbij verkrijg je de waarde bij een meegegeven index
Insertion: dit is het toevoegen van een nieuwe node tussen andere nodes. Hierbij moet je
erop letten dat de pointers wel weer goed worden gezet.
Removal: als er een node wordt verwijderd dan moet deze weer aan elkaar worden
gekoppeld door de pointer te herstellen
Dubbel linked list: het verschil met een linked list is dat deze ook verwijst naar de vorige.
Bij een dubbel linked list kan het verwijderden of toevoegen een stuk efficiënter.
Insertion: je moet allebei de pointers updaten.
Removal: hier moet je ook allebei de pointers updaten.
Stack:
De stack werkt altijd met een volgorde van LIFO(Last In – First Out) denk hierbij aan een lading
borden waar je om bij de onderste te komen altijd alles weg moet halen.
Push: voegt een element toe aan de top van de stack
Pop: deze functie verwijdert een element van de top van de stack en print deze waarde
Peek: deze functie kijkt naar de waarde op de top van de stack.
Voordelen van het kopen van samenvattingen bij Stuvia op een rij:
Verzekerd van kwaliteit door reviews
Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!
Snel en makkelijk kopen
Je betaalt supersnel en eenmalig met iDeal, creditcard of Stuvia-tegoed voor de samenvatting. Zonder lidmaatschap.
Focus op de essentie
Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!
Veelgestelde vragen
Wat krijg ik als ik dit document koop?
Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.
Tevredenheidsgarantie: hoe werkt dat?
Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.
Van wie koop ik deze samenvatting?
Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper davehuinink. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €4,50. Je zit daarna nergens aan vast.