zoukankan      html  css  js  c++  java
  • FIFO算法

    package studyJava;
    class FIFO{
    /*
    * 先进先出算法
    * N:内存块的个数
    * array:内存块
    * size:页面数目
    * */
    private static final int N=3;
    private int size;
    Object[] array=new Object[N];
    public boolean isEmpty(){
    if(size==0)
    return true;
    else
    return false;
    }
    //
    public boolean isFully(){
    if(size>=N)
    return true;
    else
    return false;
    }
    /*
    * 页面数目
    * */
    public int size(){
    return size;
    }
    /*
    * 查找元素O在数组array中的位置
    * */
    public int indexOfElement(Object o){
    for(int i=0;i<N;i++){
    if(array[i]==o)
    return i;
    }
    return -1;//否则o不在array中
    }
    /*
    * 页面转换
    * */
    public Object trans(Object o){
    Object e=null;
    int t=0;
    if(indexOfElement(o)!=-1){
    t=indexOfElement(o);
    for (int i = t; i < size-1; i++) {
    array[i]=array[i+1];
    }
    array[size-1]=o;
    }else{
    if(!isFully()){
    array[size]=o;
    size++;
    }else{
    for (int i = 0; i < size-1; i++) {
    array[i]=array[i+1];
    }
    array[size-1]=o;
    }
    }
    if(t==-1)
    return null;
    else
    return array[t];
    }
    /*
    * 输出内存块中的各数据
    * */
    public void showMemoryBlock(){
    for (int i = 0; i < size; i++) {
    System.out.print(array[i]+" ");
    }
    System.out.println();
    }
    }
    public class Main{
    public static void main(String[] args) {
    Integer[] in={7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1};
    FIFO fifo=new FIFO();
    for(int i=0; i<in.length; i++) {
    fifo.trans(in[i]);
    fifo.showMemoryBlock();

    }
    }
    }

  • 相关阅读:
    Matlab中的随机数生成器
    Matlab中的随机数生成器
    Matlab 函数返回矩阵
    Matlab 函数返回矩阵
    Matlab 函数返回矩阵
    矩阵同列同行复制原理
    矩阵同列同行复制原理
    Apache/RewriteRule
    使用google map v3添加经纬度信息
    评论:一站式学习C编程(升级版) (平装)
  • 原文地址:https://www.cnblogs.com/yunger/p/5644968.html
Copyright © 2011-2022 走看看