Académique Documents
Professionnel Documents
Culture Documents
Tableaux ?
POO
Le langage de programmation C++
Utilisation
• Les tableaux ont un type
• Les tableaux ont une taille fixe (une constante)
Déclaration
type nom_tableau[taille];
Les Tableaux statiques
int tableau[] = { 1 , 5 , 45 , 3 , 9 };
Déclaration d’un tableau de 5 éléments
est: 1,12,0,0,0,0 5
1
17/10/2022
La seconde solution est à préférer car elle est réutilisable avec
des
tableaux de différentes tailles. 9 10
11 12
2
17/10/2022
13 14
15 16
17 18
* En réalité vector n’est pas un type mais plutôt un template.
3
17/10/2022
renvoie la taille de tableau Quelques fonctions disponibles pour un tableau dynamique de type
vector :
détermine si tableau est vide ou non: renvoie un bool
supprime tous les éléments de tableau (et le transforme
tableau.push_back() : Ajout à la fin du vecteur. Pas de (type de) retour donc en un tableau vide) : la méthode empty retourne vrai
renvoie une référence au 1er élément
tableau.pop_back() : retire de la fin du vecteur. Pas de (type de) retour équivalente à tableau[0]
renvoie une référence au dernier élément
tableau.erase() : supprimer un élément ou un ensemble d’éléments entre deux équivalente à tableau[tableau.size()-1]
positions (les positions doivent être de type iterator) 23 24
4
17/10/2022
Exemple (erase)
Exercice applicatif
Créez un vecteur myVector initialement vide. Ajoutez 3 entiers de
votre choix. En utilisant la fonction pop_back, calculez la somme
des éléments du vecteur tout en supprimant l’ensemble de ses
éléments un à un.
25 26
Correction
Trier les valeurs d’un vecteur (ordre croissant)
- Utiliser la fonction sort (ajouter )
27 28
Trier les valeurs d’un vecteur (ordre décroissant) Les tableaux multidimensionnels
- tableau à plusieurs dimensions : tableau de tableaux…
- Le type de base d’un tableau peut être n’importe quel type, y
compris composé
Le type de base d’un tableau peut être lui même un tableau.
Exemple
29
tab[i][j] sera alors le (j +1)-ième élément de ce tableau. 30
5
17/10/2022
Exercice applicatif
Reproduire la structure de données suivante en utilisant la
classe vector
31