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;
}