Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menjana Semua Kemungkinan Gabungan Senarai dalam C#?

Bagaimana untuk Menjana Semua Kemungkinan Gabungan Senarai dalam C#?

DDD
DDDasal
2025-01-16 17:39:11314semak imbas

How to Generate All Possible Combinations of a List in C#?

Jana senarai semua kombinasi yang mungkin

Dalam C#, anda mungkin menghadapi situasi di mana anda perlu memproses senarai integer tetapi tidak mengetahui bilangan item sehingga masa jalan. Untuk menyelesaikan situasi ini, adalah penting untuk mencari semua kemungkinan kombinasi senarai.

Untuk melakukan ini, anda boleh menggunakan kaedah matematik:

<code class="language-csharp">static void GetCombination(List<int> list)
{
    double count = Math.Pow(2, list.Count);
    for (int i = 1; i < count; i++)
    {
        string str = Convert.ToString(i, 2);
        str = str.PadLeft(list.Count, '0');
        Console.Write("{");
        for (int j = 0; j < str.Length; j++)
        {
            if (str[j] == '1')
            {
                Console.Write(list[j] + ",");
            }
        }
        Console.WriteLine("}");
    }
}</code>

Kaedah ini:

  • Gunakan 2^list.Count untuk mengira jumlah bilangan gabungan.
  • Tukar setiap indeks gabungan i kepada perwakilan binarinya sebagai rentetan str.
  • Tampalkan rentetan dengan sifar pendahuluan agar sepadan dengan panjang senarai.
  • Lelaran pada aksara dalam str. Jika aksara ialah '1', elemen yang sepadan dalam senarai adalah output.
  • Ulang operasi ini untuk setiap indeks i, dengan itu menjana semua kombinasi yang mungkin.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Semua Kemungkinan Gabungan Senarai dalam 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