"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं PHP में 1डी सरणी से सभी संभावित संयोजन कैसे उत्पन्न कर सकता हूं, जिसमें संयोजन और क्रमपरिवर्तन दोनों शामिल हैं?

मैं PHP में 1डी सरणी से सभी संभावित संयोजन कैसे उत्पन्न कर सकता हूं, जिसमें संयोजन और क्रमपरिवर्तन दोनों शामिल हैं?

2024-11-18 को प्रकाशित
ब्राउज़ करें:978

How can I generate all possible combinations from a 1D array in PHP, including both combinations and permutations?

PHP में सभी संभावित संयोजन प्राप्त करना: एक व्यापक समाधान

1D सरणी से सभी संभावित संयोजनों को पुनर्प्राप्त करना एक जटिल कार्य हो सकता है, खासकर जब संयोजन और क्रमपरिवर्तन दोनों पर विचार करना। हालांकि इस समस्या के लिए विभिन्न दृष्टिकोण हैं, एक अत्यधिक प्रभावी समाधान में एक पुनरावर्ती फ़ंक्शन को कार्यान्वित करना शामिल है।

पुनरावर्ती फ़ंक्शन, डेप्थ_पिकर(), सरणी पर गहराई से पहली खोज करता है, सभी शाखाओं की खोज करता है और तत्वों को मिलाकर बनाता है संयोजन. यह एक अस्थायी स्ट्रिंग बनाए रखता है जिसे प्रत्येक तत्व के साथ धीरे-धीरे संशोधित किया जाता है, जबकि एक संग्रह सरणी अंतिम संयोजनों को संग्रहीत करती है। आइए देखें कि यह फ़ंक्शन कैसे संचालित होता है:

  1. बेस केस: यदि अस्थायी स्ट्रिंग खाली है, तो इसका मतलब है कि एक स्टैंडअलोन तत्व पर विचार किया जा रहा है। इस मामले में, इसे सीधे संग्रह सरणी में जोड़ा जाता है। यह से। इसके बाद यह संशोधित सरणी पर पुनरावर्ती रूप से डेप्थ_पिकर() को कॉल करता है, और जोड़े गए तत्व के साथ अद्यतन अस्थायी स्ट्रिंग को पास करता है। यदि संयोजन करने के लिए अधिक तत्व हैं, तो यह पुनरावर्ती प्रक्रिया जारी रखता है। दोहराव के बिना. यह दृष्टिकोण सुनिश्चित करता है कि स्ट्रिंग्स की दोनों विविधताएं ('अल्फा बीटा' और 'बीटा अल्फा') अंतिम आउटपुट में शामिल हैं।
  2. अंतिम परिणाम: जब फ़ंक्शन ने सभी संयोजनों का पता लगाया है, तो संग्रह सरणी में इनपुट सरणी से सभी संभावित संयोजनों का पूरा सेट शामिल है।
  3. कार्यान्वयन और निष्पादन
  4. इस गहराई-पहली खोज और संयोजनों की पुनर्प्राप्ति को लागू करने के लिए, निम्नलिखित PHP कोड को नियोजित किया जा सकता है:
0) { डेप्थ_पिकर($arrcopy, $temp_string ।" " . $elem[0], $collect); } अन्य { $संग्रह []= $temp_string. " " . $elem[0]; } } } $संग्रह = सरणी(); गहराई_पिकर($सरणी, "", $संग्रह); print_r($कलेक्ट); ?>

निष्पादन पर, यह कोड सभी संभावित संयोजनों और व्यवस्थाओं की निम्नलिखित सरणी को आउटपुट करता है:

सरणी ( [0] => अल्फा [1] => अल्फा बीटा [2] => अल्फा बीटा गामा [3] => अल्फा बीटा गामा सिग्मा [4] => अल्फा बीटा सिग्मा [5] => अल्फा बीटा सिग्मा गामा [6] => अल्फा गामा [7] => अल्फा गामा बीटा [8] => अल्फा गामा बीटा सिग्मा [9] => अल्फा गामा सिग्मा [10] => अल्फा गामा सिग्मा बीटा [11] => अल्फ़ा सिग्मा [12] => अल्फा सिग्मा बीटा [13] => अल्फा सिग्मा बीटा गामा [14] => अल्फा सिग्मा गामा [15] => अल्फा सिग्मा गामा बीटा [16] => बीटा [17] => बीटा अल्फा [18] => बीटा अल्फा गामा [19] => बीटा अल्फा गामा सिग्मा [20] => बीटा अल्फा सिग्मा [21] => बीटा अल्फा सिग्मा गामा [22] => बीटा गामा [23] => बीटा गामा अल्फा [24] => बीटा गामा अल्फा सिग्मा [25] => बीटा गामा सिग्मा [26] => बीटा गामा सिग्मा अल्फा [27] => बीटा सिग्मा [28] => बीटा सिग्मा अल्फा [29] => बीटा सिग्मा अल्फा गामा [30] => बीटा सिग्मा गामा [31] => बीटा सिग्मा गामा अल्फा [32] => गामा [33] => गामा अल्फ़ा [34] => गामा अल्फा बीटा [35] => गामा अल्फा बीटा सिग्मा [36] => गामा अल्फा सिग्मा [37] => गामा अल्फा सिग्मा बीटा [38] => गामा बीटा [39] => गामा बीटा अल्फा [40] => गामा बीटा अल्फा सिग्मा [41] => गामा बीटा सिग्मा [42] => गामा बीटा सिग्मा अल्फा [43] => गामा सिग्मा [44] => गामा सिग्मा अल्फा [45] => गामा सिग्मा अल्फा बीटा [46] => गामा सिग्मा बीटा [47] => गामा सिग्मा बीटा अल्फा [48] ​​=> सिग्मा [49] => सिग्मा अल्फा [50] => सिग्मा अल्फा बीटा [51] => सिग्मा अल्फा बीटा गामा [52] => सिग्मा अल्फा गामा [53] => सिग्मा अल्फा गामा बीटा [54] => सिग्मा बीटा [55] => सिग्मा बीटा अल्फा [56] => सिग्मा बीटा अल्फा गामा [57] => सिग्मा बीटा गामा [58] => सिग्मा बीटा गामा अल्फा [59] => सिग्मा गामा [60] => सिग्मा गामा अल्फा [61] => सिग्मा गामा अल्फा बीटा [62] => सिग्मा गामा बीटा [63] => सिग्मा गामा बीटा अल्फा )

यह दृष्टिकोण एक सरणी में तत्वों के सभी संभावित संयोजनों को प्राप्त करने के लिए एक व्यापक और कुशल समाधान प्रदान करता है, यह सुनिश्चित करता है कि दोनों संयोजन और विभिन्न व्यवस्थाएं आउटपुट में शामिल हैं।
            
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3