কম্পিউটার

C++ প্রোগ্রাম সেট STL থেকে ডিলিট এবং খুঁজে পেতে সন্নিবেশ করান


ধরুন আমাদের কাছে ইন্টিজার টাইপ ডাটার জন্য একটি সেট ডাটা স্ট্রাকচার আছে। আমাদের স্ট্যান্ডার্ড ইনপুটে আমরা n প্রশ্ন প্রদান করি। প্রতিটি প্রশ্নে (প্রতিটি লাইনে) আমাদের দুটি উপাদান রয়েছে। প্রথমটি হল অপারেটর, দ্বিতীয়টি হল উপাদান। অপারেশন নিচের মত -

  • ঢোকান। এটি সেটে উপাদান সন্নিবেশ করাবে

  • মুছে ফেলা. এটি সেট থেকে উপাদানটি মুছে ফেলবে (যদি থাকে)

  • অনুসন্ধান করুন। এটি সেটটিতে উপাদানটি অনুসন্ধান করবে, যদি উপস্থিত দেখায় হ্যাঁ, অন্যথায় না৷

সুতরাং, যদি ইনপুট n =7 এর মত হয়, প্রশ্ন =[[1,5],[1,8],[1,3],[2,8],[1,9],[3,8], [৩,৩]], তাহলে আউটপুট হবে [না, হ্যাঁ] কারণ সেটে ৮টি উপস্থিত নেই এবং ৩টি উপস্থিত রয়েছে।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • এক সেট s সংজ্ঞায়িত করুন
  • s এর মাধ্যমে পুনরাবৃত্তি করার জন্য একটি সেট পুনরাবৃত্তিকারী 'it' সংজ্ঞায়িত করুন
  • q :=প্রশ্নের সংখ্যা
  • যখন q অ-শূন্য, প্রতিটি পুনরাবৃত্তির পরে q হ্রাস করুন, করুন:
    • ক্যোয়ারী টাইপ qt নিন
    • qt
        এর জন্য
      • যদি qt 1 হয়, x s
          ঢোকান
        • ব্লক থেকে বেরিয়ে আসুন
      • যদি qt 2 হয়, s
          থেকে x মুছে দিন
        • ব্লক থেকে বেরিয়ে আসুন
      • যদি qt 3 হয়,
        • এর ভিতরে কল খুঁজুন(x)
        • যদি এটি s-এর শেষ উপাদানের মতো হয়, তাহলে:
          • প্রিন্ট NO
        • অন্যথায়
          • হ্যাঁ প্রিন্ট করুন
        • ব্লক থেকে বেরিয়ে আসুন

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <iostream>
#include <set>
using namespace std;
int main(){
    set<int> s;
    set<int>::iterator it;
    int q,x;
    int qt;
    cin >> q;
    while(q--){
        cin>>qt>>x;
        switch(qt){
            case 1:s.insert(x);
                    break;
            case 2:s.erase(x);
                    break;
            case 3:it=s.find(x);
                    if(it==s.end())
                        cout<<"No"<<endl;
                    else
                        cout<<"Yes"<<endl;
                    break;
        }
    }
    return 0;
}

ইনপুট

7
1 5
1 8
1 3
2 8
1 9
3 8
3 3

আউটপুট

No
Yes

  1. STL-এ সেট_ইউনিয়ন বাস্তবায়নের জন্য C++ প্রোগ্রাম

  2. STL-এ Set_Intersection বাস্তবায়নের জন্য C++ প্রোগ্রাম

  3. STL-এ সেট_ডিফারেন্স বাস্তবায়নের জন্য C++ প্রোগ্রাম

  4. STL-এ সেট বাস্তবায়নের জন্য C++ প্রোগ্রাম