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

    }
    }
    }

  • 相关阅读:
    django rest framework serializers解读
    django rest framework通用view
    scrapy爬取伯乐在线文章
    scrapy 框架入门
    django rest framework mixins小结
    python 函数进阶
    python 变量进阶(理解)
    Docker 部署Django项目
    Docker部署Vue 工程包
    saltstack 初始化LINUX系统
  • 原文地址:https://www.cnblogs.com/yunger/p/5644968.html
Copyright © 2011-2022 走看看