最佳内存分配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 {}会选择与其最接近的数字?

提前致谢。

托哈瓦

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

int bestFit = -1;

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章