bonjour j'essaye de trier une liste liée quand je le trier il fonctionne sur le studio visuel mais quand je le déplace vers linux la liste liée n'est pas triée pour une raison quelconque. mes sortes obtient un pointeur vers un pointeur de la liste et ceci est mon code de tri: i appeler la fonction comme ceci: SortQueue(&pprocessQueue, ProcessPrIdCompare);
et voici ma fonction la fonction utilise EnqueueInOrder qui met chaque lien à sa place.déplacer un code C de Visual Studio à Linux
void SortQueue(Queue **pqueue, CompareFunction CompareElements)
{
Queue *ptemp = CreateQueue((*pqueue)->CopyElement,
(*pqueue)->FreeElement,
CompareElements,
(*pqueue)->PrintElement);
(*pqueue)->CompareElements = CompareElements;
while (!(IsEmpty(*pqueue) == SUCCESS))
EnqueueInOrder(ptemp, DequeueLink(*pqueue));
while (!(IsEmpty(ptemp) == SUCCESS))
EnqueueInOrder(*pqueue, DequeueLink(ptemp));
FreeQueue(ptemp);
}
1 chose de plus j'utilise gcc pour compiler.
Pourriez-vous s'il vous plaît formater le code en utilisant le bouton '101010'. Battez-moi aussi! –
Je pense que le problème est dans une partie du code que vous n'avez pas collé ici. – jilles
Est-ce que votre code compile sans avertissements: utilisez -ansi -pedantic -W -Wall -Werror –