एसडीडी कंटेनर जैसे std :: list
तत्वों के सभी जोड़ों पर पुनरावृत्त करने का सबसे अच्छा तरीका क्या है , std :: सेट
, std :: vector
, आदि?
असल में इस के बराबर करने के लिए, लेकिन iterators के साथ:
के लिए (int i = 0; i & lt; ए्सize () - 1; i ++) के लिए (int j = i + 1; j & lt; एसिज़ (); j ++) cout & lt; & LT; ए [i] & lt; & lt; ए [जे] & lt; & lt; endl;
सबसे आसान तरीका सिर्फ शब्द को शाब्दिक रूप से दोबारा लिख रहा है:
के लिए (ऑटो i = foo.begin (); i! = Foo.end (); ++ i) {for (ऑटो जे = i; ++ j! = Foo.end (); / ** / ) {Std :: cout & lt; & lt; * I & lt; & lt; * जे एंड एलटी; & lt; std :: endl; }}
C ++ 98/03 के लिए const_iterator के साथ स्वतः
बदलें। या इसे अपने फ़ंक्शन में डाल दिया है:
टेम्पलेट & lt; typename it & gt; Void for_each_pair (यह शुरू, यह अंत) {for (यह i = start; i! = End; ++ i) {for (यह j = i; ++ j! = End; / ** /) {std :: Cout & lt; & lt; * I & lt; & lt; * जे एंड एलटी; & lt; std :: endl; }}}
No comments:
Post a Comment