मैं एक है c++ vector
के साथ std::pair<unsigned long, unsigned long>
वस्तुओं। मैं सदिश की वस्तुओं के उपयोग की अनुमति उत्पन्न करने की कोशिश कर रहा हूं std::next_permutation()
। हालाँकि, मैं चाहता हूं कि क्रमपरिवर्तन एक दिए गए आकार का हो, आप जानते हैं, permutations
अजगर में फ़ंक्शन के समान है जहां अपेक्षित वापसी क्रमांकन का आकार निर्दिष्ट है।
मूल रूप से, के c++
बराबर है
import itertools
list = [1,2,3,4,5,6,7]
for permutation in itertools.permutations(list, 3):
print(permutation)
(1, 2, 3)
(1, 2, 4)
(1, 2, 5)
(1, 2, 6)
(1, 2, 7)
(1, 3, 2)
(1, 3, 4)
..
(7, 5, 4)
(7, 5, 6)
(7, 6, 1)
(7, 6, 2)
(7, 6, 3)
(7, 6, 4)
(7, 6, 5)
(1, 1)
कैसे संभालना चाहते हैं ? अजगर क्रमपरिवर्तन डुप्लिकेट प्रदान करता है [(1, 1), (1, 1)]
, जबकि std::next_permutation
डुप्लिकेट (केवल {1, 1}
) से बचें ।