最适合内存分配C++

Best Fit memory allocation C++

本文关键字:分配 C++ 内存      更新时间:2023-10-16

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

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 {}选择最接近它的数字?

提前谢谢。

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

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