युवराज चंद्रा द्वारा
साझा करनाकलरवईमेल

एक स्ट्रिंग के क्रमपरिवर्तन मुद्रित करने की आवश्यकता है? हम आपको दिखाएंगे कि कैसे कई भाषाओं में।

एक क्रमपरिवर्तन एक विशिष्ट क्रम में वस्तुओं की व्यवस्था है। आप लंबाई n की एक स्ट्रिंग को n में परमिट कर सकते हैं! तरीके।

इस लेख में, आप सीखेंगे कि सी ++, पायथन, जावास्क्रिप्ट और सी का उपयोग करके किसी दिए गए स्ट्रिंग के सभी क्रमपरिवर्तन कैसे खोजें।

क्रमपरिवर्तन कैसे काम करते हैं?

मान लीजिए कि आपके पास स्ट्रिंग है एसटीआर स्ट्रिंग मानों के रूप में "MUO" के साथ। आपको स्ट्रिंग के क्रमपरिवर्तन दिखाने के लिए कहा गया है। यहां बताया गया है कि आप इसके बारे में कैसे जाएंगे:

उदाहरण 1: चलो str = "MUO"

"MUO" के क्रमपरिवर्तन हैं:

  • "एमयूओ"
  • "एमओयू"
  • "उमो"
  • "यूओएम"
  • "ओयूएम"
  • "ओएमयू"

मानों के क्रम पर ध्यान दें। यहाँ एक और उदाहरण है:

उदाहरण 2: चलो str = "AB"

"एबी" के सभी क्रमपरिवर्तन हैं:

  • "एबी"
  • "बी 0 ए 0"

यदि दी गई स्ट्रिंग में दोहराए जाने वाले वर्ण हैं तो आप डुप्लिकेट क्रमपरिवर्तन भी प्रिंट कर सकते हैं। (एबीबीए, उदाहरण के लिए)

अब जब आप समझ गए हैं कि क्रमपरिवर्तन कैसे काम करता है, तो आइए एक नज़र डालते हैं कि आप अपनी पसंदीदा प्रोग्रामिंग भाषा का उपयोग करके उन्हें कैसे ढूंढ सकते हैं।

ध्यान दें: हमने तीन स्ट्रिंग्स के आउटपुट क्रमपरिवर्तन के लिए निम्नलिखित कोड उदाहरण तैयार किए हैं: MUO, AB, और XYZ। यदि आप इनमें से किसी भी कोड का उपयोग करना चाहते हैं, तो इसे कॉपी करें, और अपने प्रोजेक्ट में फिट होने के लिए इन स्ट्रिंग्स को बदलें।

सम्बंधित: प्रोग्रामिंग के साथ एक स्ट्रिंग के वर्णों को विपरीत स्थिति में कैसे परिवर्तित करें

सी ++ प्रोग्राम एक स्ट्रिंग के सभी क्रमपरिवर्तन मुद्रित करने के लिए

एक स्ट्रिंग के सभी क्रमपरिवर्तनों को प्रिंट करने के लिए C++ प्रोग्राम नीचे दिया गया है:

// सी ++ प्रोग्राम सभी को प्रिंट करने के लिए
// एक स्ट्रिंग के क्रमपरिवर्तन
#शामिल
नेमस्पेस एसटीडी का उपयोग करना;
// स्ट्रिंग के क्रमपरिवर्तन को प्रिंट करने का कार्य
शून्य खोज क्रमपरिवर्तन (स्ट्रिंग स्ट्र, इंट लेफ्टइंडेक्स, इंट राइटइंडेक्स)
{
अगर (बाएं इंडेक्स == दाएं इंडेक्स)
{
cout << str << एंडल;
}
अन्यथा
{
के लिए (int i = leftIndex; मैं <= राइटइंडेक्स; मैं++)
{
स्वैप (str [बाएं इंडेक्स], str [i]);
खोज क्रमपरिवर्तन (str, leftIndex+1, rightIndex);
//backtrack
स्वैप (str [बाएं इंडेक्स], str [i]);
}
}
}
// ड्राइवर कोड
मुख्य प्रवेश बिंदु()
{
स्ट्रिंग str1 = "एमयूओ";
int size1 = str1.size ();
cout << "str1:" << str1 << endl;
cout << "के क्रमपरिवर्तन" << str1 << ":" << endl;
खोज क्रमपरिवर्तन (str1, 0, size1-1);
स्ट्रिंग str2 = "एबी";
int size2 = str2.size ();
cout << "str2:" << str2 << endl;
cout << "क्रमपरिवर्तन" << str2 << ":" << endl;
खोज क्रमपरिवर्तन (str2, 0, size2-1);
स्ट्रिंग str3 = "XYZ";
int size3 = str3.size ();
cout << "str3:" << str3 << endl;
cout << "क्रमपरिवर्तन" << str3 << ":" << endl;
खोज क्रमपरिवर्तन (str3, 0, size3-1);
वापसी 0;
}

उत्पादन:

str1: MUO
MUO के क्रमपरिवर्तन:
मुओ
समझौता ज्ञापन
उमो
यूओएम
ओउम
ओएमयू
str2: एबी
एबी के क्रमपरिवर्तन:
अब
बी 0 ए 0
str3: XYZ
XYZ के क्रमपरिवर्तन:
XYZ
XZY
YXZ
वाईजेडएक्स
ZYX
ZXY

सम्बंधित: कैसे जांचें कि कोई स्ट्रिंग प्रोग्रामिंग के साथ सममित है या नहीं?

एक स्ट्रिंग के सभी क्रमपरिवर्तन मुद्रित करने के लिए पायथन प्रोग्राम

अगला, एक स्ट्रिंग के सभी क्रमपरिवर्तन को प्रिंट करने के लिए पायथन कोड है:

# सभी को प्रिंट करने के लिए पायथन प्रोग्राम
# एक स्ट्रिंग के क्रमपरिवर्तन
def ConvertToString (सूची):
वापसी ''। शामिल हों (सूची)
# स्ट्रिंग के क्रमपरिवर्तन को प्रिंट करने का कार्य
def findPermutations (s, leftIndex, rightIndex):
अगर लेफ्टइंडेक्स == राइटइंडेक्स:
प्रिंट (कन्वर्ट टॉस्ट्रिंग (ओं))
अन्यथा:
मेरे लिए सीमा में (बाएं इंडेक्स, दाएं इंडेक्स + 1):
एस [बाएं इंडेक्स], एस [i] = एस [i], एस [बाएं इंडेक्स]
खोज क्रमपरिवर्तन (s, leftIndex+1, rightIndex)
#बैकट्रैक
एस [बाएं इंडेक्स], एस [i] = एस [i], एस [बाएं इंडेक्स]
# ड्राइवर कोड
str1 = "एमयूओ"
आकार1 = लेन (str1)
s1 = सूची (str1)
प्रिंट ("str1:", str1)
प्रिंट ("क्रमपरिवर्तन", str1, ":")
खोज क्रमपरिवर्तन (s1, 0, size1-1)
str2 = "एबी"
size2 = लेन (str2)
s2 = सूची (str2)
प्रिंट ("str2:", str2)
प्रिंट ("क्रमपरिवर्तन", str2, ":")
खोज क्रमपरिवर्तन (s2, 0, size2-1)
str3 = "एक्सवाईजेड"
आकार3 = लेन (str3)
s3 = सूची (str3)
प्रिंट ("str3:", str3)
प्रिंट ("क्रमपरिवर्तन", str3, ":")
खोज क्रमपरिवर्तन (s3, 0, size3-1)

उत्पादन:

str1: MUO
MUO के क्रमपरिवर्तन:
मुओ
समझौता ज्ञापन
उमो
यूओएम
ओउम
ओएमयू
str2: एबी
एबी के क्रमपरिवर्तन:
अब
बी 0 ए 0
str3: XYZ
XYZ के क्रमपरिवर्तन:
XYZ
XZY
YXZ
वाईजेडएक्स
ZYX
ZXY

सम्बंधित: कैसे जांचें कि क्या दो तार एक दूसरे के विपर्यय हैं?

एक स्ट्रिंग के सभी क्रमपरिवर्तन मुद्रित करने के लिए जावास्क्रिप्ट प्रोग्राम

यहां बताया गया है कि आप जावास्क्रिप्ट में क्रमपरिवर्तन कैसे प्रिंट करते हैं:

// जावास्क्रिप्ट प्रोग्राम सभी को प्रिंट करने के लिए
// एक स्ट्रिंग के क्रमपरिवर्तन
// स्ट्रिंग के पात्रों को स्वैप करने का कार्य
फ़ंक्शन स्वैप (str, leftIndex, i) {
चलो अस्थायी;
चलो tempArray = str.split ("");
अस्थायी = tempArray [बाएं इंडेक्स];
tempArray [बाएं इंडेक्स] = tempArray [i];
अस्थायी [i] = अस्थायी;
वापसी (tempArray)। शामिल हों ("");
}
// स्ट्रिंग के क्रमपरिवर्तन को प्रिंट करने का कार्य
फ़ंक्शन खोज क्रमपरिवर्तन (str, leftIndex, rightIndex) {
अगर (बाएं इंडेक्स == दाएं इंडेक्स) {
दस्तावेज़.लिखें (str + "
");
} अन्यथा {
के लिए (चलो मैं = लेफ्टइंडेक्स; मैं <= राइटइंडेक्स; मैं++) {
str = स्वैप (str, leftIndex, i);
खोज क्रमपरिवर्तन (str, leftIndex+1, rightIndex);
//backtrack
str = स्वैप (str, leftIndex, i);;
}
}
}
// ड्राइवर कोड
वर str1 = "एमयूओ";
वर size1 = str1.length;
दस्तावेज़.लिखें ("str1:" + str1 + "
");
document.write ("" + str1 + ":" + "के क्रमपरिवर्तन)
");
खोज क्रमपरिवर्तन (str1, 0, size1-1);
वर str2 = "एबी";
वर size2 = str2.length;
दस्तावेज़.लिखें ("str2:" + str2 + "
");
document.write ("" + str2 + ":" + "के क्रमपरिवर्तन)
");
खोज क्रमपरिवर्तन (str2, 0, size2-1);
वर str3 = "XYZ";
वर size3 = str3.length;
दस्तावेज़.लिखें ("str3:" + str3 + "
");
दस्तावेज़.लिखें ("+ str3 +" के क्रमपरिवर्तन: "+"
");
खोज क्रमपरिवर्तन (str3, 0, size3-1);

उत्पादन:

str1: MUO
MUO के क्रमपरिवर्तन:
मुओ
समझौता ज्ञापन
उमो
यूओएम
ओउम
ओएमयू
str2: एबी
एबी के क्रमपरिवर्तन:
अब
बी 0 ए 0
str3: XYZ
XYZ के क्रमपरिवर्तन:
XYZ
XZY
YXZ
वाईजेडएक्स
ZYX
ZXY

सम्बंधित: 5 प्रोग्रामिंग भाषाओं में FizzBuzz चुनौती को कैसे पूरा करें

सी प्रोग्राम एक स्ट्रिंग के सभी क्रमपरिवर्तन मुद्रित करने के लिए

नीचे एक सी प्रोग्राम है जो एक स्ट्रिंग के सभी क्रमपरिवर्तन को प्रिंट करता है:

// सी प्रोग्राम सभी को प्रिंट करने के लिए
// एक स्ट्रिंग के क्रमपरिवर्तन
#शामिल
#शामिल
// स्ट्रिंग के पात्रों को स्वैप करने का कार्य
शून्य स्वैप (चार str[], int leftIndex, int i)
{
चार अस्थायी = str [बाएं इंडेक्स];
str [बाएं इंडेक्स] = str [i];
str [i] = अस्थायी;
}
// स्ट्रिंग के क्रमपरिवर्तन को प्रिंट करने का कार्य
शून्य खोज क्रमपरिवर्तन (चार स्ट्र [], इंट लेफ्टइंडेक्स, इंट राइटइंडेक्स)
{
अगर (बाएं इंडेक्स == दाएं इंडेक्स)
{
प्रिंटफ ("% s \ ⁠n", str);
}
अन्यथा
{
के लिए (int i = leftIndex; मैं <= राइटइंडेक्स; मैं++)
{
स्वैप (str, leftIndex, i);
खोज क्रमपरिवर्तन (str, leftIndex+1, rightIndex);
//backtrack
स्वैप (str, leftIndex, i);
}
}
}
// ड्राइवर कोड
मुख्य प्रवेश बिंदु()
{
चार str1 [] = "एमयूओ";
int size1 = strlen (str1);
प्रिंटफ ("str1:% s \ ⁠n", str1);
प्रिंटफ ("% s के क्रमपरिवर्तन: \ ⁠n", str1);
खोज क्रमपरिवर्तन (str1, 0, size1-1);
चार str2 [] = "एबी";
int size2 = strlen (str2);
प्रिंटफ ("str2:% s \ ⁠n", str2);
प्रिंटफ ("% s के क्रमपरिवर्तन: \ ⁠n", str2);
खोज क्रमपरिवर्तन (str2, 0, size2-1);
चार str3 [] = "एक्सवाईजेड";
int size3 = strlen (str3);
प्रिंटफ ("str3:% s \ ⁠n", str3);
प्रिंटफ ("% s के क्रमपरिवर्तन: \ ⁠n", str3);
खोज क्रमपरिवर्तन (str3, 0, size3-1);
वापसी 0;
}

उत्पादन:

str1: MUO
MUO के क्रमपरिवर्तन:
मुओ
समझौता ज्ञापन
उमो
यूओएम
ओउम
ओएमयू
str2: एबी
एबी के क्रमपरिवर्तन:
अब
बी 0 ए 0
str3: XYZ
XYZ के क्रमपरिवर्तन:
XYZ
XZY
YXZ
वाईजेडएक्स
ZYX
ZXY

मुद्रण क्रमपरिवर्तन आसान है

इस लेख में, आपने सीखा है कि कई प्रोग्रामिंग भाषाओं में एक स्ट्रिंग के सभी क्रमपरिवर्तन कैसे मुद्रित किए जाते हैं। हालांकि ये नमूना कार्यक्रम क्रमपरिवर्तन को संभालने का एकमात्र तरीका नहीं हैं, वे उन लोगों के लिए एक शानदार शुरुआत हैं जो अपने कोड में उनका उपयोग करने के लिए नए हैं।

साझा करनाकलरवईमेल
मुफ्त ऑनलाइन कंप्यूटर प्रोग्रामिंग कोर्स के लिए 11 सर्वश्रेष्ठ साइटें

इन मुफ्त ऑनलाइन कंप्यूटर प्रोग्रामिंग पाठ्यक्रमों का उपयोग करके, आप कंप्यूटर विज्ञान की डिग्री के बिना एक महान कोडर बन सकते हैं।

आगे पढ़िए

संबंधित विषय
  • प्रोग्रामिंग
  • प्रोग्रामिंग
  • सी प्रोग्रामिंग
  • जावास्क्रिप्ट
  • अजगर
लेखक के बारे में
युवराज चंद्र (58 लेख प्रकाशित)

युवराज दिल्ली विश्वविद्यालय, भारत में कंप्यूटर विज्ञान के स्नातक छात्र हैं। उन्हें फुल स्टैक वेब डेवलपमेंट का शौक है। जब वह नहीं लिख रहा होता है, तो वह विभिन्न तकनीकों की गहराई की खोज कर रहा होता है।

युवराज चंद्र की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें