Bonjour,

Ces derniers jours, il y a eu plusieurs messages concernant des listes triées/à trier quelquefois "monstrueuses" (plusieurs millions d'éléments). Souvent, l'utilisation de tableaux a aussi été évoquée comme palliatif.

En y réfléchissant, je me suis posé la question suivante à laquelle je n'ai pas de réponse.

Peut-on se retrouver dans la situation où une allocation dynamique de (n x m) octets échouera tandis que, dans le même contexte, n allocations de m octets réussiront ? (pour une histoire de place, pas de syntaxe ou un truc dans le genre).

(n x m) octets contigus sont plus rares et difficiles à trouver que n blocs de m octets contigus, non ?

Est-ce que le système (l'OS) peut alors être amené à faire une espèce de "défragmentation" de la mémoire ou pas ? (en respectant, bien évidemment, les autres allocations faites et les adresses retournées précédemment).

Merci d'avance pour vos éclaircissements

ps : 1 allocation impose de mémoriser 1 adresse. N allocations imposent d'en mémoriser N mais ce n'est pas sur cela que ça porte, bien évidemment.