एक संख्या k और एक ऐरे arr[n] दिया गया है, जिसमें n पूर्णांक तत्व हैं जो सिस्टम में खोले गए ऐप्स की आईडी स्टोर कर रहे हैं; कार्य k संख्या के मोस्ट रिसेंटली यूज्ड ऐप्स दिखाना है, जैसे जब हम alt+tab दबाते हैं तो सभी हाल के ऐप्स दिखते हैं और सबसे हाल का सबसे कम हाल के पहले। प्रत्येक आईडी की स्थिति सिस्टम में अलग-अलग ऐप्स को दर्शाती है:
वे इस प्रकार हैं:
- arr[0] में आईडी उस ऐप की आईडी है जो वर्तमान में उपयोग में है।
- arr[1] में आईडी उस ऐप की आईडी है जो सबसे हाल ही में उपयोग किया गया था।
- arr[n-1] में आईडी उस ऐप की आईडी है जो सबसे कम हाल ही में उपयोग किया गया था।
नोट - जब हम Alt+Tab कुंजी दबाते हैं तो एक पॉइंटर होता है, जो इंडेक्स 0 से शुरू होकर सभी खुले ऐप्स के माध्यम से चलता है, वह ऐप जो वर्तमान में उपयोग में है।
उदाहरण
Input: arr[] = {1, 2, 3, 4, 5}, k=2
Output: 3 1 2 4 5
Explanation: हम ऐप आईडी 3 पर स्विच करना चाहते थे, तो यह वर्तमान में सक्रिय ऐप बन जाएगा और अन्य सक्रिय ऐप्स अब सबसे हाल ही में उपयोग किए गए होंगे
Input: arr[] = {6, 1, 9, 5, 3}, k=3
Output: 5 6 1 9 3
उपरोक्त समस्या को हल करने के लिए हम जिस दृष्टिकोण का उपयोग करेंगे:
- एक ऐरे arr[n] और k को इनपुट के रूप में लें।
- इंडेक्स प्राप्त करें यानी k उस ऐप का जिसे उपयोगकर्ता स्विच करना चाहता है।
- इंडेक्स k पर आईडी को वर्तमान बनाएं और फिर उन्हें व्यवस्थित करें जैसे वे क्रम में हैं।
- परिणाम प्रिंट करें।
एल्गोरिदम
Start
Step 1-> k मोस्ट रिसेंटली यूज्ड ऐप्स ढूंढने के लिए फंक्शन घोषित करें
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-> ऐरे तत्व प्रिंट करने के लिए फंक्शन घोषित करें
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;
// मोस्ट रिसेंटली यूज्ड फैशन में ऐरे अपडेट करने का फंक्शन
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;
}
// ऐरे तत्व प्रिंट करना
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