Disons que j'ai une grande collection d'éléments.
Chaque élément a un champ "position", qui est un nombre entier positif.
Aucun élément n'a la même valeur pour le champ "position".Algorithme pour garder la collection triée en insérant au milieu
La seule a soutenu l'opération de la collection est: addElement (newElement, positionAfterElement), où:
- newElement est le nouvel élément à ajouter (sa position est inconnue pour l'instant)
- positionAfterElement est un élément existant de la collection.
La fonction garantit que:
- Position (positionAfterElement) Position < (newElement)
- aucun autre élément de la collection a une position entre la position (positionAfterElement) et la position (newElement)
je peux changez la valeur de toutes les positions d'élément comme je souhaite mais je veux réduire au minimum le nombre de changements (en moyenne).
Comment dois-je implémenter la fonction addElement?
Je pourrais juste pousser tous les éléments avec des positions plus élevées de 1, mais je suis sûr qu'il doit y avoir une meilleure façon de le faire.
Merci à tous pour votre aide.
devoirs ?? ?? devoirs – JonH
Vous n'avez pas fourni suffisamment de détails pour répondre adéquatement à votre question. Les questions qui restent en suspens sont les suivantes: à quel type de structure de données s'agit-il? Comment est-il initialement peuplé d'éléments, et leurs positions initiales sont-elles éparses ou denses? Préférez-vous un meilleur temps moyen pour ajouter un élément, ou un meilleur moment pour le pire? – mquander
Je sens les devoirs, je les repaille maintenant. – Alex