Program for Page Replacement Algorithms (LRU)
// LRU.cpp : This file contains the 'main' function. Program execution begins and ends there. // #include "pch.h" #include <iostream> #include <unordered_map> #include <unordered_set> using namespace std; int pageFaults(int pages[], int n, int capacity) { unordered_set<int> s; unordered_map<int, int> indexes; // Start from initial page int page_faults = 0; for (int i = 0; i < n; i++) { // Check if the set can hold more pages if (s.size() < capacity) { // Insert it into set if not present // already which represents page fault if (s.find(pages[i]) == s.end()) { s.insert(pages[i]); // increment page fault page_faults++; } // Store the recently used index of // each page indexes[pages[i]] = i; } // If the set is full then need to perform lru // i.e. remove the least recently used page // and insert the current page else { // Che...