问题描述:
小明需要把一些书(多于n本)放入书架,书架上一共有n个尊贵位置,每个位置可以放1本书。这n个位置用来摆放自己最喜欢的书,剩余的放入书架下面的橱子里。小明每次从待整理的书或已经放入尊贵位置的书中拿起1本,将其放入所有空位置中最左侧,n个位置都放满以后还有新书要放入的话就把最左侧的1本拿走放到下面的橱子里,腾出1个空位置来放新书。重复这个过程直到所有的书都处理完,要么放到n个尊贵位置上,要么放到下面的橱子里。
自定义一个类,对列表进行封装,实现基于LRU算法的缓冲区。每次都从右侧放入和查找图书,缓冲区满时从左侧删除图书。
参考代码(lru_algorism.py):
测试结果: