কম্পিউটার

C++ এ দ্বিমুখী পুনরাবৃত্তিকারী


এখানে আমরা C++ এ দ্বিমুখী পুনরাবৃত্তির ধারণা দেখতে পাব।

  • দ্বিমুখী পুনরাবৃত্তিকারীগুলি ফরোয়ার্ড ইটারেটরগুলির সমস্ত বৈশিষ্ট্য সমর্থন করে এবং এছাড়াও উপসর্গ এবং পোস্টফিক্স হ্রাস অপারেটরগুলিকে সমর্থন করে৷
  • এই ধরনের পুনরাবৃত্তিকারী উভয় দিকেই উপাদান অ্যাক্সেস করতে পারে, যেমন শেষ এবং শুরুতে।
  • এলোমেলো অ্যাক্সেস ইটারেটরও এক ধরনের দ্বিমুখী পুনরাবৃত্তিকারী।
  • দ্বিমুখী পুনরাবৃত্তিকারীদের ফরোয়ার্ড ইটারেটরের বৈশিষ্ট্য রয়েছে, তবে পার্থক্য হল এই পুনরাবৃত্তিকারীকেও হ্রাস করা যেতে পারে।

দ্বিমুখী পুনরাবৃত্তিকারীদের কিছু বৈশিষ্ট্য রয়েছে। এগুলো নিচের মত।

সম্পত্তি এক্সপ্রেশন
দ্বিমুখী পুনরাবৃত্তিকারী ডিফল্ট-নির্মাণযোগ্য, কপি-অর্পণযোগ্য এবং ধ্বংসযোগ্যও A p
একটি q(p)
q =p
আমরা সমতা এবং অসমতা অপারেটর ব্যবহার করে তাদের তুলনা করতে পারি p ==q
p !=q
এটি ডিরেফারেন্স করা যেতে পারে৷ আমরা মান পেতে ডিরেফারেন্স অপারেটর (*) ব্যবহার করতে পারি। *p
পরিবর্তনযোগ্য পুনরাবৃত্তিকারীকে lvalue হিসাবে আলাদা করা যেতে পারে *p =t
আমরা ইনক্রিমেন্ট অপারেটর (++), এবং ডিক্রিমেন্ট অপারেটর (--) ব্যবহার করে বৃদ্ধি বা হ্রাস করতে পারি p++
q--

উদাহরণ কোড

#include <iostream>
#include<iterator>
#include<vector>
using namespace std;
int main() {
   vector<int> vec{10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
   vector<int> ::iterator it;
   vector<int> :: reverse_iterator rev_it;
   for(it = vec.begin(); it != vec.end(); it++)
      cout<<*it<<" ";
      cout<< endl;
   for(rev_it = vec.rbegin(); rev_it!= vec.rend(); rev_it++)
      cout<<*rev_it<<" ";
}

আউটপুট

10 20 30 40 50 60 70 80 90 100
100 90 80 70 60 50 40 30 20 10

  1. C++ এ বাইনারি সার্চ ট্রি ইটারেটার

  2. C++ এ আউটপুট ইটারেটর

  3. C++ এ ইটারেটর বাতিলকরণ

  4. C# এ পুনরাবৃত্তিকারী