APP3: Flashcards

1
Q

Qu’est-ce que une queue?

A

C’est un tableau avec des contraintes au niveau de l’insertion et de l’élimination.
Le type c’est du genre first-in, first-out

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qu’est-ce qu’un Stack?

A

C’est un tableau avec contrainte au niveau de l’insertion et elimation d’élément.
Un stack est de type last in, first out

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qu’est-ce qu’une liste chaîner?

A

C’est un tableau dont chaque case contient non seulement une valeur , mais également un pointeur vers la prochaine case

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qu’est-ce que des opérateurs binaires?

A

C’est quand lors de la surcharge d’opérateur celui-ci requiert de deux argument.
ex:
, , *, =, +, -, +=, ->, /,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qu’est-ce qu’un opérateur unaire?

A

C’est quand la surcharge d’opérateur ne prend qu’un seul argument.
ex:
++, –, *, ->, &

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quelles sont les deux types d’opérateurs ?

A
  • Des opérateurs unaires

- Des opérateurs binaires

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Pourquoi il serai nécessaire de surcharger des opérateurs?

A
Quand on crée des class pour représenter des objets réel, la definition par défaut d'un operateur peut s'appliquer différament pour cet objet. 
Par exemple:   - si on veut additioner deux objet de la classe date, l'addition par défault ne s'applique pas, car en effet , il faut plutôt addition chaque jour, mois et année séparément.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qu’est-ce que un pile

A
  • Permet de socker des données
  • Première insérer/dernière retirer
  • Première en bas/dernière en haut
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Pseudocode pour insérer

A
FONCTION Insérer(val) : ok
// val (entier) : la valeur à ajouter
// ok (booléen) : indique si l’ajout est réussi ou non
DÉBUT
// temp (pointeur d’entier)
SI taille ≥ capacité ALORS
temp := nouveau tableau d’entiers de 2 fois plus grand que l’ancien
POUR i := 0 À capacité
temp[i] := data[i]
Libérer data
data := temp
capacité := capacité * 2
data[taille] := valeur
Incrémenter taille
ok := vrai
Retourner ok
FIN
2 de 8
Sous-question 1.3
Réalisez le code C++ de la méthode inser
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Code en C++ pour inserer

A
bool Pile::inserer(int val)
{
int *temp;
if(taille >= capacite)
{
temp = new int[capacite*2];
for(int i = 0; i < capacite ; i++)
temp[i] = data[i];
delete [] data;
data = temp;
capacite *= 2;
}
data[taille++] = val;
return true;
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qu’est-ce que une copy profonde(Deepcopy)

A

-Permet de faire un clône parfait d’un objet et non une copie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Quand utilisé le Deepcopy

A

Il faut l’utiliser quand une classe contient un pointeur pour éviter que deux pointeur pointe à la même région de mémoire

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Pourquoi il peut être utile, lors de la surcharge d’oppérateur, qu’ils retourne une valeur?

A

Il est utile pour les fois qu’on voudrai faires des assignation en cascade

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Il est utile d’utilise des templates quand…

A
... quand une fonction ou une class peut se généraliser à tout type de données.
ex:
une class de liste ou une fonction d'affichage de tableau
How well did you know this?
1
Not at all
2
3
4
5
Perfectly