lru.java

来自「主存--辅存模拟 主存--cash模拟」· Java 代码 · 共 53 行

JAVA
53
字号
package cahe;
import java.util.Vector;
pubic class LRU
{
	private   int	time[];	//计数器
	public LRU(int num)
	{
		time = new int[num];
		for (int i = 0; i <num; i++)
		{
			time[i] = -1;
		}
	}
	
	//计数器加1
	public void addTime(Vector<Integer> c,int[]time, int a, int min, int max)
	{
		for (int i = min; i <=max; i++)
		{
			if (i != a&&c.get(i)!=null)
			{
				time[i]++;
			}
		}
	}
	//获得时间最长的块
	public int getRelpacePart(int[]time,int min, int max)
	{
		int longTime=time[min];//存储未使用的时间
		int partNum=min;//存储最长时间未使用的块号
		for(int i=min+1;i<=max;i++)//找到最近未使用的块
		{
			if(time[i]>longTime)
			{
				longTime=time[i];
				partNum=i;
			}
		}
		return partNum;
	}
	//清空计数器
	public void cleanTime(int[]time,int num)
	{
		
		time[num]=-1;
	}

	public int[] getTime()
	{
		return time;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?