<script>
function
worstFit(blockSize, m,
processSize, n)
{
let allocation =
new
Array(n);
for
(let i = 0; i < allocation.length; i++)
allocation[i] = -1;
for
(let i = 0; i < n; i++)
{
let wstIdx = -1;
for
(let j = 0; j < m; j++)
{
if
(blockSize[j] >= processSize[i])
{
if
(wstIdx == -1)
wstIdx = j;
else
if
(blockSize[wstIdx] <
blockSize[j])
wstIdx = j;
}
}
if
(wstIdx != -1)
{
allocation[i] = wstIdx;
blockSize[wstIdx] -= processSize[i];
}
}
document.write(
"<br>Process No.  "
+
" Process Size  "
+
" Block no.<br>"
);
for
(let i = 0; i < n; i++)
{
document.write(
" "
+ (i + 1) +
"     "
+
"    "
+
processSize[i] +
"      "
);
if
(allocation[i] != -1)
document.write(allocation[i] + 1);
else
document.write(
"Not Allocated"
);
document.write(
"<br>"
);
}
}
let blockSize = [ 100, 500, 200, 300, 600 ];
let processSize = [ 212, 417, 112, 426 ];
let m = blockSize.length;
let n = processSize.length;
worstFit(blockSize, m, processSize, n);
</script>