#!/usr/bin/env python
#-*-coding:utf-8-*-
'''
LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,
是为虚拟页式存储管理服务的,是根据页面调入内存后的使用情况进行决策了
下面是实现的方法
'''
def LRU(data, space = 5):
'''
data 一个装着数据的列表序列
space 表示空间,这个空间数影响数据的呈现
'''
if type(data) != list:
return
if space < 2 :
return
lru = []
index = 0
for num in data:
try:
index = lru.index(num)
except ValueError:
index = -1
count = len(lru)
if index >= 0: #编号找到
tmp = lru[index]
del lru[index]
lru.append(tmp)
else:
if count >= space: #当达到内存空间最大数时,将最不长用的元素去掉。
del lru[0]
lru.append(num)
else:
lru.append(num)
print lru,
print
if __name__ == "__main__":
LRU([4,7,0,7,1,0,1,2,1,2,6])