你好,我正在尝试对链表进行排序
当我对其进行排序时,它可以在Visual Studio上运行,但是当我将其移至linux时,由于某种原因,链表未进行排序。
我的排序获取指向列表指针的指针,这是我的排序代码:
我这样调用函数:SortQueue(&pprocessQueue, ProcessPrIdCompare);
这是我的功能
该函数使用EnqueueInOrder,它将每个链接放在他的位置。
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);
}
我正在使用gcc进行编译的1件事。
最佳答案
我看不到您的代码有问题。检查位于您展示给我们的代码之外的代码可能是明智的。
关于c - 将C代码从Visual Studio迁移到Linux,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3592712/