C, C++, JavaScript, और Python में दिए गए स्ट्रिंग के सभी क्रमपरिवर्तन कैसे प्रिंट करें?

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

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

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

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

उदाहरण 1 : मान लीजिए str = "MUO"

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

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

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

उदाहरण २ : मान लीजिए str = "AB"

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

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

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

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

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

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

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

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

 // C++ program to print all
// permutations of a string
#include <bits/stdc++.h>
using namespace std;

// Function to print permutations of string
void findPermutations(string str, int leftIndex, int rightIndex)
{
if (leftIndex == rightIndex)
{
cout << str << endl;
}
else
{
for (int i = leftIndex; i <= rightIndex; i++)
{
swap(str[leftIndex], str[i]);
findPermutations(str, leftIndex+1, rightIndex);
//backtrack
swap(str[leftIndex], str[i]);
}
}
}
// Driver Code
int main()
{
string str1 = "MUO";
int size1 = str1.size();
cout << "str1: " << str1 << endl;
cout << "Permutations of " << str1 << ":" << endl;
findPermutations(str1, 0, size1-1);
string str2 = "AB";
int size2 = str2.size();
cout << "str2: " << str2 << endl;
cout << "Permutations of " << str2 << ":" << endl;
findPermutations(str2, 0, size2-1);
string str3 = "XYZ";
int size3 = str3.size();
cout << "str3: " << str3 << endl;
cout << "Permutations of " << str3 << ":" << endl;
findPermutations(str3, 0, size3-1);
return 0;
}

आउटपुट :

 str1: MUO
Permutations of MUO:
MUO
MOU
UMO
UOM
OUM
OMU
str2: AB
Permutations of AB:
AB
BA
str3: XYZ
Permutations of XYZ:
XYZ
XZY
YXZ
YZX
ZYX
ZXY

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

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

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

 # Python program to print all
# permutations of a string
def convertToString(List):
return ''.join(List)
# Function to print permutations of string
def findPermutations(s, leftIndex, rightIndex):
if leftIndex == rightIndex:
print(convertToString(s))
else:
for i in range(leftIndex, rightIndex+1):
s[leftIndex], s[i] = s[i], s[leftIndex]
findPermutations(s, leftIndex+1, rightIndex)
# backtrack
s[leftIndex], s[i] = s[i], s[leftIndex]
# Driver Code
str1 = "MUO"
size1 = len(str1)
s1 = list(str1)
print("str1:", str1)
print("Permutations of", str1,":")
findPermutations(s1, 0, size1-1)
str2 = "AB"
size2 = len(str2)
s2 = list(str2)
print("str2:", str2)
print("Permutations of", str2,":")
findPermutations(s2, 0, size2-1)
str3 = "XYZ"
size3 = len(str3)
s3 = list(str3)
print("str3:", str3)
print("Permutations of", str3,":")
findPermutations(s3, 0, size3-1)

आउटपुट :

 str1: MUO
Permutations of MUO:
MUO
MOU
UMO
UOM
OUM
OMU
str2: AB
Permutations of AB:
AB
BA
str3: XYZ
Permutations of XYZ:
XYZ
XZY
YXZ
YZX
ZYX
ZXY

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

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

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

 // JavaScript program to print all
// permutations of a string
// Function to swap characters of the string
function swap(str, leftIndex, i) {
let temp;
let tempArray = str.split("");
temp = tempArray[leftIndex] ;
tempArray[leftIndex] = tempArray[i];
tempArray[i] = temp;
return (tempArray).join("");
}
// Function to print permutations of string
function findPermutations(str, leftIndex, rightIndex) {
if (leftIndex == rightIndex) {
document.write(str + "<br>");
} else {
for (let i = leftIndex; i <= rightIndex; i++) {
str = swap(str, leftIndex, i);
findPermutations(str, leftIndex+1, rightIndex);
//backtrack
str = swap(str, leftIndex, i);;
}
}
}
// Driver Code
var str1 = "MUO";
var size1 = str1.length;
document.write("str1: " + str1 + "<br>");
document.write("Permutations of " + str1 + ":" + "<br>");
findPermutations(str1, 0, size1-1);
var str2 = "AB";
var size2 = str2.length;
document.write("str2: " + str2 + "<br>");
document.write("Permutations of " + str2 + ":" + "<br>");
findPermutations(str2, 0, size2-1);
var str3 = "XYZ";
var size3 = str3.length;
document.write("str3: " + str3 + "<br>");
document.write("Permutations of " + str3 + ":" + "<br>");
findPermutations(str3, 0, size3-1);

आउटपुट :

 str1: MUO
Permutations of MUO:
MUO
MOU
UMO
UOM
OUM
OMU
str2: AB
Permutations of AB:
AB
BA
str3: XYZ
Permutations of XYZ:
XYZ
XZY
YXZ
YZX
ZYX
ZXY

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

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

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

 // C program to print all
// permutations of a string
#include <stdio.h>
#include <string.h>
// Function to swap characters of the string
void swap(char str[], int leftIndex, int i)
{
char temp = str[leftIndex];
str[leftIndex] = str[i];
str[i] = temp;
}
// Function to print permutations of string
void findPermutations(char str[], int leftIndex, int rightIndex)
{
if (leftIndex == rightIndex)
{
printf("%s ⁠n", str);
}
else
{
for (int i = leftIndex; i <= rightIndex; i++)
{
swap(str, leftIndex, i);
findPermutations(str, leftIndex+1, rightIndex);
//backtrack
swap(str, leftIndex, i);
}
}
}
// Driver Code
int main()
{
char str1[] = "MUO";
int size1 = strlen(str1);
printf("str1: %s ⁠n", str1);
printf("Permutations of %s: ⁠n", str1);
findPermutations(str1, 0, size1-1);
char str2[] = "AB";
int size2 = strlen(str2);
printf("str2: %s ⁠n", str2);
printf("Permutations of %s: ⁠n", str2);
findPermutations(str2, 0, size2-1);
char str3[] = "XYZ";
int size3 = strlen(str3);
printf("str3: %s ⁠n", str3);
printf("Permutations of %s: ⁠n", str3);
findPermutations(str3, 0, size3-1);
return 0;
}

आउटपुट :

 str1: MUO
Permutations of MUO:
MUO
MOU
UMO
UOM
OUM
OMU
str2: AB
Permutations of AB:
AB
BA
str3: XYZ
Permutations of XYZ:
XYZ
XZY
YXZ
YZX
ZYX
ZXY

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

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