/ / Les files d'attente prioritaires peuvent-elles avoir des éléments vides (comme des tableaux)? - liste liée, file d'attente, élément, file d'attente prioritaire

Les files d'attente prioritaires peuvent-elles contenir des éléments vides (comme des tableaux)? - liste chaînée, file d'attente, élément, file d'attente prioritaire

Bonjour, je suis en train d’écrire un algorithme en langage de conception d’algorithmes pour un test simulé, pour ajouter un élément à une file d’attente prioritaire.

Maintenant, je prévois de le faire en utilisant la méthode généraled'insérer un élément dans une file d'attente normale à l'arrière puis de le trier au bon endroit en le comparant (en fonction de la valeur de priorité) à l'élément qui le précède est placé dans la file d'attente des priorités.

C'est l'algorithme que j'ai jusqu'à présent (uniquement pour ajouter des éléments à la file d'attente prioritaire):

  • élément- élément à ajouter à la file d'attente.
  • file d'attente []- L'élément de file d'attente prioritaire est ajouté à.
  • n- la taille de la file d'attente prioritaire.
  • queue- le dernier élément de la file d'attente prioritaire.

procédure AddQ (DANS élément, INOUT file d'attente [], DANS n INOUT queue)

if tail= n then
print (“Queue is full”)
else {
tail← tail+ 1
queue (tail) ← element
}

fin

Je ne suis pas sûr de savoir si je devrais avoir lesection qui indique que la file d’attente est pleine. Ai-je raison de penser que les files d'attente prioritaires ont un pointeur dans l'élément queue pointant vers null pour indiquer qu'il ne reste plus d'éléments?

Si tel est le cas, cela signifie que les files d'attente de priorité ne peuvent pasavoir un espace vide (comme un tableau standard par exemple) pour les nouveaux éléments comme la queue dans la priorité-file est nulle, en disant qu'il n'y a plus d'éléments dans la file? Ou est-ce que je prends la mauvaise approche ici?

Je suis confus quant à la façon dont cela fonctionne. Si quelqu'un pouvait préciser, je vous en serais très reconnaissant! Je vous remercie.

Réponses:

2 pour la réponse № 1

Les files d'attente prioritaires en Java sont dynamique , ils peuvent avoir un nombre minimum d’éléments quiSi vous souhaitez passer par une file d'attente pour déterminer quel est le dernier élément ou pour savoir où se trouve le dernier élément à un moment donné, vous aurez besoin d'un itérateur objet qui "vous aidera à faire exactement cela.