我有一个代表记忆的列表。“-”字符表示其中的空白。
memAlloc函数需要找到可用的空间(考虑碎片内存),并在randSize内存空间数中填充数据值。你知道吗
def memAlloc(mem, data):
randSize = randint(1, len(mem)//4)
writeStart = 0
writeSize = 0
found = False
for i in range(len(mem)):
if(mem[i] == "-"):
writeStart = i
writeSize = 0
for j in range(i, len(mem)):
if(mem[j] == "-"):
writeSize += 1
if(writeSize == randSize):
found = True
break
else:
break
if(found):
break
if(found):
i = writeStart
for j in range(writeSize):
mem[i] = data
i += 1
else:
print("Error: Not Enough Memory Space!")
return mem
这段代码将更清晰,不太明确的索引争论。您只是在寻找一个
mem
片,它等于" -"
这样的字符串 长度由randSize
决定。你知道吗(我假设
mem
是一个列表,因此可以通过分配给一个片段来进行变异。如果mem
是一个字符串,则需要进行一些更改。如果mem
是另外一回事,那么可能需要做一些其他的更改。)相关问题 更多 >
编程相关推荐