Files d'attente
Résolu
marie12_2000
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
marie12_2000 Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
marie12_2000 Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
Je suis entrain d'apprendre les files et j'arrive pas trop à comprendre le concept
J'aimerai comprendre exactement une certaine instruction
Donc pourquoi le mod max et le +1 ...
Merci
Je suis entrain d'apprendre les files et j'arrive pas trop à comprendre le concept
J'aimerai comprendre exactement une certaine instruction
Queue=(F.tete+F.long-1)Mod Max+1
Donc pourquoi le mod max et le +1 ...
Merci
A voir également:
- Files d'attente
- Bin files - Guide
- Recover my files - Télécharger - Récupération de données
- Common files ✓ - Forum Windows
- Dat files - Guide
- Fnac commande en attente d'acceptation ✓ - Forum Consommation & Internet
1 réponse
Bonjour marie12_2000,
Si la file a une taille donnée, par exemple parce qu'elle est implémentée sous la forme de tableau en C de 5 éléments, alors le comportement suivant est en principe implémentable :
- comme une file d'attente, lorsqu'un nouvel élément est intégré à la file, ce nouvel élément est placé à l'arrière de la file
- à mesure que l'on ajoute des éléments, l'arrière est successivement à 0, 1, 2, 3, 4, et le début de la file à 0,
- si la capacité de la file est pleine, avant de pouvoir insérer un nouvel élément, l'élément qui est en tête de la file doit sortir de la file pour laisser la place au nouveau
- plutôt que de décaler tout le contenu du tableau C, on peut juste déplacer la position de la tête de file
- le début de file passera à la position 1, et la position 0 devient l'arrière de la file, où le nouvel élément peut être placé
- etc.
Pour énumérer les éléments de la file, on partira de la tête de file, on parcours le tableau jusqu'à la fin et on boucle sur la position 0 si on n'a pas parcouru tous les éléments de la liste, jusqu'à ce que tous les éléments soient parcourus.
On manque de contexte pour savoir ce que représentent exactement les différents éléments de ta ligne de code (qui n'est pas en C d'ailleurs), mais si "mod" représente bien "modulo" et donc le reste de la division entière (opérateur
Dal
Si la file a une taille donnée, par exemple parce qu'elle est implémentée sous la forme de tableau en C de 5 éléments, alors le comportement suivant est en principe implémentable :
- comme une file d'attente, lorsqu'un nouvel élément est intégré à la file, ce nouvel élément est placé à l'arrière de la file
- à mesure que l'on ajoute des éléments, l'arrière est successivement à 0, 1, 2, 3, 4, et le début de la file à 0,
- si la capacité de la file est pleine, avant de pouvoir insérer un nouvel élément, l'élément qui est en tête de la file doit sortir de la file pour laisser la place au nouveau
- plutôt que de décaler tout le contenu du tableau C, on peut juste déplacer la position de la tête de file
- le début de file passera à la position 1, et la position 0 devient l'arrière de la file, où le nouvel élément peut être placé
- etc.
Pour énumérer les éléments de la file, on partira de la tête de file, on parcours le tableau jusqu'à la fin et on boucle sur la position 0 si on n'a pas parcouru tous les éléments de la liste, jusqu'à ce que tous les éléments soient parcourus.
On manque de contexte pour savoir ce que représentent exactement les différents éléments de ta ligne de code (qui n'est pas en C d'ailleurs), mais si "mod" représente bien "modulo" et donc le reste de la division entière (opérateur
%en C) il est typiquement utilisé sur la dimension de la file, pour calculer un index adapté à la plage des valeurs possibles, dans notre exemple le reste de la division entière par 5 donne, quel que soit le dividende, un résultat de 0 à 4.
Dal
marie12_2000
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
Ah oui pardon j'ai oublié de remplacer mod par % et le point virgule a la fin . Mod represente effectivement le modulo , merci pour ta reponse c'est gentil :)