PHP - 最适合模拟

时间:2017-06-27 04:30:39

标签: php algorithm

我正在尝试制作一个模拟Best Fit内存分配算法的网络应用。我在尝试排序工作时遇到错误。

$bestfit = array();
for ($i = 0; $i < $_POST['holyhole']; $i++) {
    for ($j = 0; $j < $_POST['holyhole']; $j++) {
        if ($holecopy[$i] < $holecopy[$j]) {

            $thresh = $holes[$i];
            $holecopy[$i] = $holecopy[$j];
            $holecopy[$j] = $thresh;


            $hold = $bestfit[$i];
            $bestfit[$i] = $bestfit[$j];
            $bestfit[$j] = $hold;
        }
    }
}
$holecopy2 = $holecopy;
for ($i = 0; $i < $_POST['proc']; $i++) {
    $flag = 0;
    for ($j = 0; $j < $_POST['holyhole']; $j++) {
        if ($proc[$i] < $holecopy[$j]) {
            echo ($bestfit[$j] . " " . $holecopy[$j] . " " . $proc[$i]);
            $holecopy[$j] = $holecopy[$j] - $proc[$i];
        } else {
            $flag++;
        }
    }
    if ($flag > $_POST['holyhole']) {
        echo "Wait: " . $proc[$i];
    }
}
$ thresh和$ hold是临时持有者变量。 $ holecopy是内存孔的数组,$ proc是jos的数组。

我在使用bestfit数组的行周围出现偏移误差。我无法理解为什么。请帮忙。谢谢!

0 个答案:

没有答案