কম্পিউটার

C++-এ K সবচেয়ে সাম্প্রতিক ব্যবহৃত (MRU) অ্যাপের জন্য প্রোগ্রাম


একটি সংখ্যা k এবং একটি অ্যারে অ্যারে [n] দেওয়া, n সংখ্যার পূর্ণসংখ্যা উপাদান রয়েছে যা একটি সিস্টেমে খোলা অ্যাপগুলির আইডি সংরক্ষণ করছে; কাজটি হল সবচেয়ে সাম্প্রতিক ব্যবহৃত অ্যাপগুলির k সংখ্যা দেখানো, যেমন আমরা যখন alt+tab চাপি তখন সব সাম্প্রতিক অ্যাপ দেখায় এবং সাম্প্রতিকতমের আগে সাম্প্রতিকতম অ্যাপ দেখায়। প্রতিটি আইডির অবস্থান একটি সিস্টেমে বিভিন্ন অ্যাপের প্রতিনিধিত্ব করে −

তারা নিম্নরূপ -

  • আইডি ইন arr[0] হল একটি অ্যাপের আইডি যা বর্তমানে ব্যবহার করা হচ্ছে।
  • আইডি ইন arr[1] হল একটি অ্যাপের আইডি যা সম্প্রতি ব্যবহৃত হয়েছে।
  • আইডি ইন arr[n-1] হল এমন একটি অ্যাপের আইডি যা সম্প্রতি ব্যবহার করা হয়েছে।

দ্রষ্টব্য − যখন আমরা Alt+Tab কী চাপি সেখানে একটি পয়েন্টার থাকে, যা সূচী ০ থেকে শুরু করে সমস্ত খোলা অ্যাপের মধ্য দিয়ে চলে যায়, যে অ্যাপটি বর্তমানে ব্যবহার করা হচ্ছে।

উদাহরণ

Input: arr[] = {1, 2, 3, 4, 5}, k=2
Output: 3 1 2 4 5
Explanation: We wished to switched the app with id 3, so it will become the currently
active app and other active apps will be the most recently used now

Input: arr[] = {6, 1, 9, 5, 3}, k=3
Output: 5 6 1 9 3

উপরের সমস্যা সমাধানের জন্য আমরা যে পদ্ধতি ব্যবহার করব

  • ইনপুট হিসাবে একটি অ্যারে arr[n] এবং k নিন।
  • একজন ব্যবহারকারী যে অ্যাপটি স্যুইচ করতে চান তার সূচী পাবেন অর্থাৎ k।
  • ইনডেক্স k-এ আইডিকে কারেন্ট হিসাবে তৈরি করুন এবং তারপরে সেগুলি একটি ক্রম অনুসারে সাজান৷
  • ফলাফল প্রিন্ট করুন।

অ্যালগরিদম

Start
Step 1-> declare the function to find k most recently used apps
   void recently(int* arr, int size, int elem)
   Declare int index = 0
   Set index = (elem % size)
   Declare and set int temp = index, id = arr[index]
   Loop While temp > 0
      Set arr[temp] = arr[--temp]
   End
   Set arr[0] = id
Step 2-> declare function to print array elements
   void print(int* arr, int size)
   Loop For i = 0 and i < size and i++
      Print arr[i]
   End
Step 3-> In main()
   Declare and set for elements as int elem = 3
   Declare array as int arr[] = { 6, 1, 9, 5, 3 }
   Calculate size as int size = sizeof(arr) / sizeof(arr[0])
   Call recently(arr, size, elem)
   Call print(arr, size)
Stop

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
// Function to update the array in most recently used fashion
void recently(int* arr, int size, int elem) {
   int index = 0;
   index = (elem % size);
   int temp = index, id = arr[index];
   while (temp > 0) {
      arr[temp] = arr[--temp];
   }
   arr[0] = id;
}
//print array elements
void print(int* arr, int size) {
   for (int i = 0; i < size; i++)
   cout << arr[i] << " ";
}
int main() {
   int elem = 3;
   int arr[] = { 6, 1, 9, 5, 3 };
   int size = sizeof(arr) / sizeof(arr[0]);
   recently(arr, size, elem);
   cout<<"array in most recently used fashion : ";
   print(arr, size);
   return 0;
}

আউটপুট

array in most recently used fashion : 5 6 1 9 3

  1. C++ প্রোগ্রামে একটি গাছে পূর্বপুরুষ-বংশের সম্পর্কের জন্য প্রশ্ন

  2. দ্বিখণ্ডন পদ্ধতির জন্য C++ প্রোগ্রাম

  3. অ্যারের উপাদানগুলির গুণনের জন্য C++ প্রোগ্রাম

  4. C++ এ অক্টাল থেকে দশমিক রূপান্তরের জন্য প্রোগ্রাম