কম্পিউটার

C++ এ পরবর্তী ছোট উপাদান


পরবর্তী ছোট উপাদানটি হল যে উপাদানটি তার পরে প্রথম ছোট উপাদান। আসুন একটি উদাহরণ দেখি।

arr =[1, 2, 3, 5, 4]

5 এর জন্য পরবর্তী ছোট এলিমেন্ট হল 4 এবং 1, 2, 3 এলিমেন্টের পরবর্তী ছোট এলিমেন্ট হল -1 কারণ তাদের পরে কোন ছোট এলিমেন্ট নেই।

অ্যালগরিদম

  • এলোমেলো সংখ্যা দিয়ে অ্যারে শুরু করুন

  • একটি স্ট্যাক শুরু করুন৷

  • স্ট্যাকের প্রথম উপাদান যোগ করুন।

  • অ্যারের উপাদানের মাধ্যমে পুনরাবৃত্তি করুন।

    • স্ট্যাক খালি থাকলে, স্ট্যাকের বর্তমান উপাদান যোগ করুন।

    • যদিও বর্তমান উপাদানটি স্ট্যাকের উপরের উপাদানের চেয়ে ছোট।

      • বর্তমান উপাদান হিসাবে পরবর্তী ছোট উপাদানের সাথে শীর্ষ উপাদানটি মুদ্রণ করুন।

      • উপরের উপাদানটি পপ করুন৷

    • স্ট্যাকে উপাদান যোগ করুন।

  • স্ট্যাক খালি না থাকার সময়।

    • -1 হিসাবে পরবর্তী ছোট উপাদান সহ উপাদানগুলি প্রিন্ট করুন।

বাস্তবায়ন

C++

-এ উপরের অ্যালগরিদমের বাস্তবায়ন নিচে দেওয়া হল
#include <bits/stdc++.h>
using namespace std;
void nextSmallerElements(int arr[], int n) {
   stack<int> s;
   s.push(arr[0]);
   for (int i = 1; i < n; i++) {
      if (s.empty()) {
         s.push(arr[i]);
         continue;
      }
      while (!s.empty() && s.top() > arr[i]) {
         cout << s.top() << " -> " << arr[i] << endl;
         s.pop();
      }
      s.push(arr[i]);
   }
   while (!s.empty()) {
      cout << s.top() << " -> " << -1 << endl;
      s.pop();
   }
}
int main() {
   int arr[] = { 5, 4, 3, 2, 1 };
   int n = 5;
   nextSmallerElements(arr, n);
   return 0;
}

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

1 -> 2
2 -> 3
3 -> 4
4 -> 5
5 -> -1

  1. C++ এ পার্টিশন তালিকা

  2. C++ এ কুৎসিত সংখ্যা

  3. C++ এ সংখ্যাগরিষ্ঠ উপাদান

  4. আভিধানিকভাবে C++ এর পরবর্তী স্থানান্তর