如何在Linked List上实现简单的“最适合”内存分配?

时间:2013-10-14 23:12:04

标签: c memory memory-management linked-list

我使用链接列表在C中实现了First Fit和Worst Fit算法,但是当涉及到Best Fit时,我不知道如何实现它。你如何比较尺寸?您是否有一系列可接受的尺码可供检查?

我发现了一个非常有用的代码。如果有任何更好的实现,请告诉我:

Node *getBestFit(int size) {

    Node *best = NULL;

    Node *node = root;

    while(node!=NULL) {

        if (!node->used && (node->size >= size) && (best==NULL || node->size < best->size)) {

            best = node;

            if (best->size==size) { break; }

        }

        node = node->next;

    }

    return best;

}

0 个答案:

没有答案