作業系統FIFO演算法
阿新 • • 發佈:2022-04-04
FIFO演算法
#include <bits/stdc++.h> #include <queue> using namespace std; queue<int >op; int n; int cnt; bool get(queue<int >p,int x) { while (!p.empty()) { int l = p.front(); p.pop(); if (l==x) return true; } return false; } void out(queue<int >p) { cout<<"-----------------------"<<endl; cout<<"駐留 "; while (!p.empty()) { int l = p.front(); p.pop(); cout<<l<<' '; } cout<<endl; cout<<"-----------------------"<<endl; } int main() { cin>>n; cin>>cnt;/// l zhuliuji int sum = 0; for (int i=0;i<n;++i) { int x; cin>>x; out(op); if (get(op,x)==false) { ++sum; if (op.size()<cnt) { op.push(x); } else { op.pop(); op.push(x); } } out(op); } cout<<sum<<endl; }