最适合内存分配 C++

Best Fit memory allocation C++

我想创建一个最适合的内存分配解决方案。

int main()
{
    int input;
    int memoryBlock[ARRAY_SIZE] = {5, 10, 3, 9, 7};
    int bestFit;

    cout << "Please enter the memory size you want to allocate: ";
    cin >> input;

    for (int i = 0; i < ARRAY_SIZE; i++){

        if (memoryBlock[i] - input < 0 ){

        }
        else {
            bestFit = memoryBlock[i];
        }

    }
    cout << bestFit;
}

根据上面的代码,我如何修改它使得 else {} 将 select 最接近它的数字?

提前致谢。

更改您的代码,使其仅在 bestFit 小于 better 时替换它:

int bestFit = -1;

for (int i = 0; i < ARRAY_SIZE; ++i) {
    if (memoryBlock[i] - input >= 0 && memoryBlock[i] < bestFit) {
        bestFit = memoryBlock[i];
    }
}