Oleh Yuvraj Chandra
MembagikanMenciakSurel

Perlu mencetak permutasi string? Kami akan menunjukkan caranya dalam beberapa bahasa.

Permutasi adalah pengaturan objek dalam urutan tertentu. Anda dapat mengubah string dengan panjang n dalam n! cara.

Dalam artikel ini, Anda akan mempelajari cara menemukan semua permutasi dari string tertentu menggunakan C++, Python, JavaScript, dan C.

Bagaimana Permutasi Bekerja?

Katakanlah Anda memiliki string str dengan “MUO” sebagai nilai string. Anda telah diminta untuk menunjukkan permutasi string. Inilah cara Anda melakukannya:

Contoh 1: Misalkan str = "MUO"

Permutasi dari “MUO” adalah:

  • “MUO”
  • "MOU"
  • “UMO”
  • “UOM”
  • “OUM”
  • “UMU”

Perhatikan urutan nilainya. Berikut contoh lain:

Contoh 2: Misal str = "AB"

Semua permutasi dari “AB” adalah:

  • "AB"
  • "BA"

Anda juga dapat mencetak permutasi duplikat jika ada karakter berulang dalam string yang diberikan. (ABBA, misalnya)

Sekarang setelah Anda memahami cara kerja permutasi, mari kita lihat bagaimana Anda dapat menemukannya menggunakan bahasa pemrograman pilihan Anda.

instagram viewer

Catatan: Kami telah merancang contoh kode berikut untuk menghasilkan permutasi untuk tiga string: MUO, AB, dan XYZ. Jika Anda ingin menggunakan salah satu kode ini, salin, dan ubah string ini agar sesuai dengan proyek Anda.

Terkait: Cara Mengonversi Karakter String ke Kasus Berlawanan Dengan Pemrograman

Program C++ untuk Mencetak Semua Permutasi dari sebuah String

Di bawah ini adalah program C++ untuk mencetak semua permutasi dari sebuah string:

// Program C++ untuk mencetak semua
// permutasi dari sebuah string
#termasuk
menggunakan namespace std;
// Fungsi untuk mencetak permutasi string
void findPermutation (string str, int leftIndex, int rightIndex)
{
if (indeks kiri == indeks kanan)
{
cout<}
lain
{
untuk (int i = indeks kiri; saya <= indeks kanan; saya++)
{
swap (str[indeks kiri], str[i]);
findPermutations (str, leftIndex+1, rightIndex);
//backtrack
swap (str[indeks kiri], str[i]);
}
}
}
// Kode Pengemudi
int utama()
{
string str1 = "MUO";
int ukuran1 = str1.ukuran();
cout<cout << "Permutasi dari " << str1 << ":" << endl;
findPermutations (str1, 0, size1-1);
string str2 = "AB";
int ukuran2 = str2.ukuran();
cout<cout << "Permutasi dari " << str2 << ":" << endl;
findPermutations (str2, 0, size2-1);
string str3 = "XYZ";
int ukuran3 = str3.ukuran();
cout<cout << "Permutasi dari " << str3 << ":" << endl;
findPermutations (str3, 0, size3-1);
kembali 0;
}

Keluaran:

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

Terkait: Cara Memeriksa apakah String Simetris Dengan Pemrograman

Program Python untuk Mencetak Semua Permutasi dari sebuah String

Selanjutnya, adalah kode Python untuk mencetak semua permutasi dari sebuah string:

# Program Python untuk mencetak semua
# permutasi string
def convertToString (Daftar):
kembali ''.join (Daftar)
# Berfungsi untuk mencetak permutasi string
def findPermutations (s, leftIndex, rightIndex):
jika indeks kiri == indeks kanan:
cetak (convertToString (s))
lain:
untuk i dalam jangkauan (indeks kiri, indeks kanan+1):
s[indeks kiri], s[i] = s[i], s[indeks kiri]
findPermutations (s, leftIndex+1, rightIndex)
#mundur
s[indeks kiri], s[i] = s[i], s[indeks kiri]
# Kode Pengemudi
str1 = "MUO"
ukuran1 = len (str1)
s1 = daftar (str1)
print("str1:", str1)
print("Permutasi dari", str1,":")
findPermutations (s1, 0, size1-1)
str2 = "AB"
ukuran2 = len (str2)
s2 = daftar (str2)
print("str2:", str2)
print("Permutasi dari", str2,":")
findPermutations (s2, 0, size2-1)
str3 = "XYZ"
ukuran3 = len (str3)
s3 = daftar (str3)
print("str3:", str3)
print("Permutasi dari", str3,":")
findPermutations (s3, 0, size3-1)

Keluaran:

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

Terkait: Cara Memeriksa Apakah Dua String Adalah Anagram Satu Sama Lain

Program JavaScript untuk Mencetak Semua Permutasi dari sebuah String

Inilah cara Anda mencetak permutasi dalam JavaScript:

// Program JavaScript untuk mencetak semua
// permutasi dari sebuah string
// Berfungsi untuk menukar karakter string
fungsi swap (str, indeks kiri, i) {
biarkan suhu;
biarkan tempArray = str.split("");
temp = tempArray[indeks kiri] ;
tempArray[leftIndex] = tempArray[i];
tempArray[i] = suhu;
kembali (tempArray).join("");
}
// Fungsi untuk mencetak permutasi string
function findPermutations (str, indeks kiri, indeks kanan) {
if (indeks kiri == indeks kanan) {
document.write (str + "
");
} lain {
untuk (misalkan i = leftIndex; saya <= indeks kanan; saya++) {
str = swap (str, indeks kiri, i);
findPermutations (str, leftIndex+1, rightIndex);
//backtrack
str = swap (str, indeks kiri, i);;
}
}
}
// Kode Pengemudi
var str1 = "MUO";
var size1 = str1.length;
document.write("str1: " + str1 + "
");
document.write("Permutasi dari " + str1 + ":" + "
");
findPermutations (str1, 0, size1-1);
var str2 = "AB";
var size2 = str2.length;
document.write("str2: " + str2 + "
");
document.write("Permutasi dari " + str2 + ":" + "
");
findPermutations (str2, 0, size2-1);
var str3 = "XYZ";
var size3 = str3.length;
document.write("str3: " + str3 + "
");
document.write("Permutasi dari " + str3 + ":" + "
");
findPermutations (str3, 0, size3-1);

Keluaran:

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

Terkait: Cara Menyelesaikan FizzBuzz Challenge dalam 5 Bahasa Pemrograman

Program C untuk Mencetak Semua Permutasi dari sebuah String

Di bawah ini adalah program C yang mencetak semua permutasi string:

// Program C untuk mencetak semua
// permutasi dari sebuah string
#termasuk
#termasuk
// Berfungsi untuk menukar karakter string
void swap (char str[], int leftIndex, int i)
{
char temp = str[indeks kiri];
str[indeks kiri] = str[i];
str[i] = suhu;
}
// Fungsi untuk mencetak permutasi string
void findPermutation (char str[], int leftIndex, int rightIndex)
{
if (indeks kiri == indeks kanan)
{
printf("%s \⁠n", str);
}
lain
{
untuk (int i = indeks kiri; saya <= indeks kanan; saya++)
{
swap (str, indeks kiri, i);
findPermutations (str, leftIndex+1, rightIndex);
//backtrack
swap (str, indeks kiri, i);
}
}
}
// Kode Pengemudi
int utama()
{
char str1[] = "MUO";
int ukuran1 = strlen(str1);
printf("str1: %s \⁠n", str1);
printf("Permutasi dari %s: \⁠n", str1);
findPermutations (str1, 0, size1-1);
char str2[] ​​= "AB";
int ukuran2 = strlen(str2);
printf("str2: %s \⁠n", str2);
printf("Permutasi dari %s: \⁠n", str2);
findPermutations (str2, 0, size2-1);
char str3[] = "XYZ";
int ukuran3 = strlen(str3);
printf("str3: %s \⁠n", str3);
printf("Permutasi dari %s: \⁠n", str3);
findPermutations (str3, 0, size3-1);
kembali 0;
}

Keluaran:

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

Mencetak Permutasi Itu Mudah

Dalam artikel ini, Anda telah mempelajari cara mencetak semua permutasi string dalam beberapa bahasa pemrograman. Meskipun contoh program ini bukan satu-satunya cara untuk menangani permutasi, ini adalah awal yang baik bagi mereka yang baru menggunakannya dalam kode mereka.

MembagikanMenciakSurel
11 Situs Terbaik untuk Kursus Pemrograman Komputer Online Gratis

Dengan menggunakan kursus pemrograman komputer online gratis ini, Anda dapat menjadi pembuat kode yang hebat tanpa gelar ilmu komputer.

Baca Selanjutnya

Topik-topik yang berkaitan
  • Pemrograman
  • Pemrograman
  • Pemrograman C
  • JavaScript
  • Python
Tentang Penulis
Yuvraj Chandra (58 Artikel Diterbitkan)

Yuvraj adalah mahasiswa sarjana Ilmu Komputer di University of Delhi, India. Dia bersemangat tentang Pengembangan Web Full Stack. Ketika dia tidak menulis, dia menjelajahi kedalaman teknologi yang berbeda.

More From Yuvraj Chandra

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan