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();

    }
    }
    }

  • 相关阅读:
    架构漫谈-阅读笔记(一)
    一线架构师实践指南--总结
    周四进度二
    质量属性改进
    结对作业第一次
    软件工程(2019)第三次作业
    软件工程(2019)第二次作业
    MarkDown编辑方法网址
    软件工程(2019年)第一次作业
    本人的coding地址
  • 原文地址:https://www.cnblogs.com/yunger/p/5644968.html
Copyright © 2011-2022 走看看