上课讲的一道例题,老师叫用语言将算法实现出来,这里分享下自己的思路,希望对你们有帮助,不懂可以在评论区评论,我也会为大家解答!

下面直接上代码 ^ _ ^

代码部分

import java.util.ArrayList;
import java.util.List;public class Homework {private List wulikuai = new ArrayList(3);//创建一个长度为3的集合,其功能相当于有三个物理块private Integer count = 0;//用于统计没有缺页的数量/** 将访问页添加到物理块中 **/private List put(Integer data){//判断物理块里面的数据是否大于三个if (wulikuai.size() < 3){//物理块长度小于三时,直接向里面添加数据//判断当前数据是否在物理块中已经存在for(int i = 0;i < wulikuai.size();i++) {if (wulikuai.get(i) == data) { //存在的情况,当前数据存在物理块中,表示没有中断System.out.print("这个没有中断----");count++;//计数加1return wulikuai;//直接返回原来的物理块,不做任何处理}}wulikuai.add(data);//不在在情况下,将形式参数的值添加到物理块集合中}else {//当物理块大于3时for(int i = 0;i < wulikuai.size();i++) {if (wulikuai.get(i) == data) {//存在,当前数据存在物理块中,表示没有中断System.out.print("这个没有中断----");count++;//计数加1return wulikuai;//直接返回原来的物理块,不做任何处理}}wulikuai.remove(0);//将物理块集合首个元素移除wulikuai.add(data);//将新的添加到末尾}return wulikuai;//返回物理块}public static void main(String[] args) {//创建一个数组保存访问页顺序Integer[] data = {1,2,3,4,1,2,5,1,2,3,4,5};//上课照片例题数据集
//        Integer[] data = {1,2,1,0,4,1,3,4,2,1,4,1};//书 P109例题4-9数据集
//        Integer[] data = {1,2,3,4,1,2,5,1,2,3,4,5,6};//书 P115第10题数据集//将上面数组中的元素放入到物理块中Homework h = new Homework();//循环,一个一个的放入物理块中for(int i = 0;i < data.length;i++) {System.out.println(data[i]+"------>"+h.put(data[i]));//通过实参传递到上面一个方法中}System.out.println("-------------------------------");System.out.println("访问顺序总的次数为:"+data.length);System.out.println("总共有"+h.count+"次没有缺页中断");//所以中断次数为 :int zd = data.length - h.count;System.out.println("所以有"+zd+"次缺页中断");}
}

运行结果

先进先出置换算法(Java实现)相关推荐

  1. 3.2.3 OS之页面置换算法(最佳置换算法、先进先出置换算法、最近最久未使用置换算法、普通时钟置换算法、改造型时钟置换算法)

    文章目录 0.思维导图 1.最佳置换算法---OPT 2.先进先出置换算法---FIFO 3.最近最久未使用置换算法---LRU 4.时钟置换算法---CLOCK 5.改造型时钟置换算法 0.思维导图 ...

  2. 操作系统先进先出置换算法(FIFO)实现

    先进先出置换算法(FIFO):每次选择淘汰的页面是最早进入内存的页面 实现方法:把调入内存的页面根据调入的先后顺序排成一个队列,需要换出页面时选择队头页面即可. 队列的最大长度取决于系统为进程分配了多 ...

  3. 先进先出置换算法(FIFO)

    最简单的页面置换算法是先入先出(FIFO)法.这种算法的实质是,总是选择在主存中停留时间最长(即最老)的一页置换,即先进入内存的页,先退出内存.理由是:最早调入内存的页,其不再被使用的可能性比刚调入内 ...

  4. 操作系统-先进先出置换算法

    思想:总是淘汰最先进入内存的页面,即选择在内存中驻留时间最长的页面予以淘汰 优点:实现简单 缺点:算法性能差,往往与进程实际运行的规模不相符.有些页面,如存放全局变量.常用函数的页面,在整个进程的运行 ...

  5. 【南邮操作系统实验】页面置换算法 (FIFO、LRU、OPT)Java 版

    页面置换算法Java版 先进先出置换算法(FIFO) 最近最久未使用置换算法(LRU) 最佳置换算法(OPT) 帮女朋友写了份 Python版的,Python版戳这里 帮女朋友舍友写了份 C++ 版的 ...

  6. java简单巡回置换算法程序代码_巡回置换算法(巡回置换算法实现流程)

    LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的.LRU算法的提出,是基于这样一个事实:在前面几条指令中使用频繁的. 在一个请求分页系统中, ...

  7. 操作系统页面置换算法之先进先出(FIFO)页面置换算法(C语言实现)

    先进先出(FIFO)页面置换算法 [注]本代码数据及思路方法参考自<计算机操作系统(第四版)>汤小丹等 编著的教材. #include <iostream>int access ...

  8. 【南邮操作系统实验】页面置换算法(FIFO、LRU、OPT) C++ 版

    页面置换算法 先进先出置换算法(FIFO) 最近最久未使用置换算法(LRU) 最佳置换算法(OPT) 写好了 Java 版和 Python 版的- Java版这里 Python版戳这里 帮女朋友舍友写 ...

  9. 【南邮操作系统实验】页面置换算法(FIFO、LRU、OPT) Python 版

    页面置换算法 先进先出置换算法(FIFO) 最近最久未使用置换算法(LRU) 最佳置换算法(OPT) 本来已经写好一份 Java 版的了,然后又帮女朋友写了一份 Python 版,啊哈哈 Java版戳 ...

最新文章

  1. 没有CLOB类型却报ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB
  2. VTK:PolyData之PointSampler
  3. 高级图形学之离散技术
  4. z-index优先级总结
  5. python中again函数怎么用_Python中的偏函数怎么用?
  6. VB的KeyAscii
  7. java sql变更存储,MySQL更改数据库数据存储目录,mysql数据存储
  8. 电脑怎么进入linux系统,Linux操作系统进入家用电脑成为发展新前景
  9. Win7开发的VC2012程序在XP上无法运行
  10. Unity 3D WebView 插件之基础介绍(一)
  11. LM393双电压比较器集成电路引脚图及功能_工作原理及应用电路
  12. AI中台——智能聊天机器人平台的架构与应用
  13. Android自定义实现九宫格抽奖功能
  14. raspberry pi cm3+的i2c使用的问题调试
  15. 表格分组标签:表格行分组中的隐藏功能
  16. UBOOT源码分析的第一阶段start.S分析(3)
  17. 【Codecs系列】GDR(Gradual Decoder Refresh)帧
  18. ! LaTeX Error: File xxx.sty not found-统一解决办法
  19. 故事,零落,,,,,
  20. Asp.net WebAPI 教程整理

热门文章

  1. 《计算机应用基础》第四次作业,[业务]计算机应用基础四次小作业
  2. mysql常用查看表结构的SQL语句
  3. Intel 工具vtune的安装和使用
  4. python Scrapy Selenium PhantomJS 爬取微博图片
  5. 时间序列预测必读的20篇论文!
  6. java开发sns游戏服务需要注意的问题
  7. Taro-ui 常用 UI 组件库说明
  8. 关于记忆宫殿的一些思考
  9. 如何查看高清卫星地图
  10. STM32定时器中断_立即触发解决方案