Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Cari Semua Gabungan Item dalam Array C#?

Bagaimana untuk Cari Semua Gabungan Item dalam Array C#?

Linda Hamilton
Linda Hamiltonasal
2025-01-19 23:28:12839semak imbas

How to Find All Combinations of Items in a C# Array?

Kaedah carian gabungan elemen tatasusunan C#

Artikel ini meneroka pelbagai kaedah mencari gabungan semua elemen tatasusunan dalam C#. Teknik yang berbeza boleh dipilih bergantung pada keperluan khusus, seperti sama ada pendua dibenarkan, bilangan elemen yang diperlukan dalam setiap gabungan, dan susunan yang dikehendaki.

Benarkan pilih atur pendua

Untuk mencari pilih atur tatasusunan yang membenarkan elemen pendua, gunakan fungsi GetPermutationsWithRept. Kaedah ini membolehkan setiap elemen digunakan beberapa kali dalam komposisi. Sebagai contoh, untuk tatasusunan panjang 2 {1, 2, 3, 4}, outputnya ialah:

<code>{1,1} {1,2} {1,3} {1,4}
{2,1} {2,2} {2,3} {2,4}
{3,1} {3,2} {3,3} {3,4}
{4,1} {4,2} {4,3} {4,4}</code>

Peraturan pendua tidak dibenarkan

Jika pengulangan tidak diperlukan, gunakan fungsi GetPermutations. Kaedah ini mengehadkan setiap elemen untuk digunakan sekali sahaja setiap gabungan. Untuk tatasusunan dan panjang yang sama, outputnya ialah:

<code>{1,2} {1,3} {1,4} 
{2,1} {2,3} {2,4} 
{3,1} {3,2} {3,4} 
{4,1} {4,2} {4,3} </code>

Gabungan K pendua dibenarkan

Untuk mencari kombinasi K tatasusunan yang membenarkan elemen pendua, gunakan fungsi GetKCombsWithRept. Kaedah ini membolehkan setiap elemen digunakan beberapa kali dalam gabungan, outputnya ialah:

<code>{1,1} {1,2} {1,3} {1,4} 
{2,2} {2,3} {2,4} 
{3,3} {3,4} 
{4,4} </code>

Gabungan pendua K tidak dibenarkan

Jika pengulangan tidak diperlukan dalam kombinasi K, sila gunakan fungsi GetKCombs. Kaedah ini memastikan setiap elemen dalam gabungan digunakan sekali sahaja. Untuk tatasusunan dan panjang yang diberikan, outputnya ialah:

<code>{1,2} {1,3} {1,4} 
{2,3} {2,4} 
{3,4} </code>

Atas ialah kandungan terperinci Bagaimana untuk Cari Semua Gabungan Item dalam Array C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn