这是一个免费的空间表
+--------+-------+
|address | size |
| 28 | 11 |
| 21 | 19 |
+--------+-------+
以下数据输入:11, 5, 7
我需要使用第一个拟合算法将每个数据放在正确的位置。
我这样做了吗?
(步骤1)11将被放置在地址28处,大小为11
(步骤2)5将把19分成两部分放在地址21,这样就创建了14个(新分区)
(步骤3)7将被放置在步骤(2)中创建的大小为14的地址21
答案 0 :(得分:1)
看起来是正确的,除了7长的条目没有进入地址21,因为那时5将会到达。 7长的入口可能会在地址21 + 5 = 26。如果表中的搜索按照表格的显示顺序进行,或者从较高地址到较低地址进行搜索。此外,最后一步也会生成一个新分区。
如果,OTOH,搜索是在相反的方向进行,那么结果是不同的。
再想一想,这一切看起来都不正确。为什么21 + 19 = 40> 28?或者这些是结束的地址而不是免费分区的开头???但是28-11 = 17< 21。
不计算。
你的作业中有些错误或缺失。