A. Least Recently Used Algorithm (NC)

Least Recently Used Introduction

LRU 算法是一个在现实中被广泛应用的置换算法,常用于操作系统中内存的页面置换、Cache的槽置换等。只要是有关资源置换的,LRU都能插上一脚(浏览器缓存、数据库缓存等)。尽管 LRU 算不上一个 optimal algorithm,但是在实践中算得上置换算法的 GOAT 。

To Implement a Generic LRU

我们来实现一个泛型的 LRU ,支持任何类型的资源。我们假设资源的大小是固定的,我们缓冲区的大小也是恒定的。在这种情况下,我们使用 std::array 来管理缓冲区。为了快速找到对应的元素,我们还需要用到哈希表,因为我们有键值对的需求,这里选择 std::unordered_map

#include <iostream>
#include <unordered_map>
#include <array>

class LRU_Buffer{
private:
	constexpr int capacity = 100;
	

public:

	int buffer_init(){
	
	std::cout << "Buffer initialized" << std::endl;
	return 0;
}

};


int main(){


	return 0;
}