用高级语言模拟页面置换算法lru
时间: 2023-12-08 17:39:32 浏览: 253
Java语言实现模拟页面置换算法.doc
LRU(Least Recently Used)是一种常见的页面置换算法,它会优先淘汰最近最少使用的页面。下面是一个用Python实现LRU算法的例子:
```python
from collections import OrderedDict
class LRUCache:
def __init__(self, capacity: int):
self.capacity = capacity
self.cache = OrderedDict()
def get(self, key: int) -> int:
if key not in self.cache:
return -1
self.cache.move_to_end(key)
return self.cache[key]
def put(self, key: int, value: int) -> None:
if key in self.cache:
self.cache.move_to_end(key)
self.cache[key] = value
if len(self.cache) > self.capacity:
self.cache.popitem(last=False)
```
上述代码中,我们使用了Python内置的OrderedDict数据结构来实现LRU算法。其中,get()方法用于获取指定键的值,如果键不存在则返回-1;put()方法用于插入键值对,如果键已存在则更新值,如果容量已满则淘汰最近最少使用的键值对。
阅读全文