यहां हम C++ में द्विदिश पुनरावृत्तियों की अवधारणा देखेंगे।
- द्वि-दिशा वाले इटरेटर फ़ॉरवर्ड इटरेटर की सभी सुविधाओं का समर्थन करते हैं, साथ ही प्रीफ़िक्स और पोस्टफ़िक्स डिक्रीमेंट ऑपरेटर्स का भी समर्थन करते हैं।
- इस प्रकार का इटरेटर तत्वों को अंत और शुरुआत दोनों दिशाओं में एक्सेस कर सकता है।
- रैंडम एक्सेस इटरेटर भी एक प्रकार का द्विदिश पुनरावर्तक है।
- बिडायरेक्शनल इटरेटर्स में फॉरवर्ड इटरेटर की विशेषताएं होती हैं, लेकिन फर्क सिर्फ इतना है कि इस इटरेटर को भी घटाया जा सकता है।
द्विदिश पुनरावृत्तियों में कुछ गुण होते हैं। ये नीचे की तरह हैं।
Property | <वें शैली="चौड़ाई:20.8843%;">अभिव्यक्ति|
---|---|
एक पी एक क्यू (पी) क्यू =पी | |
हम समानता और असमानता ऑपरेटरों का उपयोग करके उनकी तुलना कर सकते हैं | p ==q पी!=क्यू |
इसे डीरेफरेंस किया जा सकता है। हम मूल्य प्राप्त करने के लिए डीरेफरेंस ऑपरेटर (*) का उपयोग कर सकते हैं। | *p |
परिवर्तनीय पुनरावर्तक को lvalue के रूप में संदर्भित किया जा सकता है | *p =t |
हम इंक्रीमेंट ऑपरेटर (++) और डिक्रीमेंट ऑपरेटर (--) का उपयोग करके बढ़ा या घटा सकते हैं | p++ क्यू-- |
उदाहरण कोड
#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