我使用链接列表在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;
}