首页 > 代码库 > LRU的C++的简单实现

LRU的C++的简单实现

class LRUCache提供两个接口:get(int key)和set(int key,value)

#include<iostream>using namespace std;class LRUCache{public:    LRUCache(int cap):current(0),capacity(cap){        A=new node[cap];    }    int get(int key) {        for(int i=0;i<current;i++)        {        <span style="white-space:pre">	</span>if(key==A[i].key)        <span style="white-space:pre">	</span>{        <span style="white-space:pre">		</span>int temp=A[i].value;        <span style="white-space:pre">		</span>node tt=A[i];        <span style="white-space:pre">		</span>for(int k=i;k<current-1;k++)        <span style="white-space:pre">		</span>{        <span style="white-space:pre">			</span>A[k]=A[k+1];        <span style="white-space:pre">		</span>}        <span style="white-space:pre">		</span>A[current-1]=tt;        <span style="white-space:pre">		</span>return temp;        <span style="white-space:pre">	</span>}        }        return -1;    }  void set(int key, int value) {    <span style="white-space:pre">	</span>    node t;        <span style="white-space:pre">	</span>t.key=key;        <span style="white-space:pre">	</span>t.value=http://www.mamicode.com/value;>测试结果: