Algorithmique: structures de données

This commit is contained in:
Meutel 2019-05-29 18:40:50 +02:00
parent 067be712a3
commit 057dccd458

View File

@ -217,10 +217,76 @@ Exemples:
## Tableaux
Un **tableau** (array) est une structure de données ordonnées, contenant un nombre invariant de valeurs du même type. L'accès aux valeurs contenues se fait par un indice (numéro d'ordre parmi les éléments du tableau, en commençant à 0). L'affectation des éléments du tableau peut se faire à l'initialisation ou en utilisant les indices.
Déclaration d'un tableau de 4 éléments
int[] tab = new int[4];
Déclaration et initialisation
int[] tab = new int[] { 1, 2, 3, 4};
Affectation des éléments
int[] tab = new int[4];
tab[0] = 1;
tab[1] = 2;
tab[2] = 3;
tab[3] = 4;
Accès aux éléments
if (tab[0] > 0) {
// instruction
}
## Liste
Une **liste** est une structure similaire à un tableau mais de taille variable.
List maList = new ArrayList();
maList.add(1);
maList.add(2);
int variable = maList(1); // variable vaut 2
## Ensemble
Un **ensemble** (set) est une structure de données non ordonnées contenant des éléments uniques.
Set ensemble = new HashSet();
ensemble.add(1);
ensemble.add(2);
ensemble.add(2); // pas d'effet car les éléments sont uniques
## Table d'association
## Objet
Une **table d'association** (dictionnaire, map) est une structure de données contenant des valeurs indexées par une autre valeur appelée clé. On peut accéder à une valeur en utilisant sa clé, on peut affecter une valeur en fournissant la clé et la valeur.
Map tableAssoc = new HashMap();
tableAssoc.put(1, "un");
tableAssoc.put(2, "deux");
// valeur pour la clé 1
tableAssoc.get(1);
## Structure/Objet
Une structure est un type de données contenant plusieurs valeurs nommées. On appelle le nom d'une valeur dans une structure un attribut. On peut accéder à la valeur d'un attribut en utilisant l'opérateur `.`. Dans les langages dit "objet", la notion de structure est remplacées par la notion d'objet qui est une forme de structure contenant également des fonctions.
class MonObjet {
int monAttributEntier;
String monAttributChaine;
}
MonObjet obj = new MonObjet();
// affectation des attributs
obj.monAttributEntier = 1;
obj.monAttributChaine = "test";
// valeurs des attributs
if (obj.monAttributEntier > 0) {
// instruction
}