Tema 3 - Contenidors Avancats

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

Contenidors avançats

Estructures de dades de la llibreria STL


Contenidors avançats

Iteradors

Totes les estructures tenen


un tipus de dada
anomenada iterador.
Un iterador s’encarrega
d’anar element per
element.
Contenidors avançats

Tasca
Crea un vector d’ints i omple’l amb 5 valors
random entre 5 i 20.
Printa el contigut del vector usant un bucle amb
iterador.
Contenidors avançats

Entendre els següents contenidors de memòria

Les dades es poden guardar


d’una forma més
estructurada més enllà
d’estar ordenada de forma
seqüencial.
Contenidors avançats

Map

Llista de parelles d’elements


[Key, Value]

Cada valor és identificat per


una clau única, no es poden
repetir claus.
Contenidors avançats

Tasca
Crea un map que guardi un nom amb un DNI

Afegeix 3 elements al map i printa els seus valora


iterant-lo
Contenidors avançats

Queue

1 Llista d’elements ordenats


1 4 en format FIFO (First In First
First() 1 4 1 Out).
4 Una cua se sol utilitzar, per
4 3 exemple, en l’input o en
3 connexions per internet.
Contenidors avançats

Tasca
Implementa l’struct CustomQueue
L’estructura està formada per:
- Un vector<int> que guarda els valors
- Les funcions push(int) i pop() i first()
Contenidors avançats

Set

Conjunt d’elements que no


es poden repetir.
Un element guardat dins
d’un set NO es pot
modificar! Només treure.
Contenidors avançats

Tasca
Implementa l’struct CustomSet
L’estructura està formada per:
- Un vector<int> que guarda els valors
- Les funcions insert(int) i erase(int)
- Consell: Els sets s’usen amb iteradors
Contenidors avançats

Stack

Llista d’elements ordenats


en format FILO (First In Last
Out).
Una stack és semblant a
una cua, però funciona de
forma inversa.
Contenidors avançats

Tasca
Implementa l’struct CustomStack
L’estructura està formada per:
- Un vector<int> que guarda els valors
- Les funcions push(int) i pop() i top()
Contenidors avançats

List

Llista d’elements vinculats


per un punter.

Tot element sap quin és


l’anterior i el següent
Punters
Contenidors avançats

Tasca
Implementa l’struct ListElement
L’estructura està formada per:
- Un value (int)
- Dos punters previous i next a altres
ListElement.
Contenidors avançats

Tasca
Implementa l’struct CustomList

L’estructura està formada per:

- Dos punters begin i end del tipus ListElement


- Un enter size que guarda el tamany actual
- Una funció push_back(int value) que afegeix un element al final
- Una funció push_forward(int value) que afegeix un element al principi
- Una funció pop_back() que esborra l’últim element.
- Una funció pop_front() que esborra el primer element.

You might also like