Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Membahagikan Senarai dengan Betul kepada Senarai yang Lebih Kecil daripada Saiz Tersuai (cth., 30 atau kurang)?

Bagaimana untuk Membahagikan Senarai dengan Betul kepada Senarai yang Lebih Kecil daripada Saiz Tersuai (cth., 30 atau kurang)?

Barbara Streisand
Lepaskan: 2025-01-18 04:47:12
asal
652 orang telah melayarinya

How to Correctly Split a List into Smaller Lists of a Custom Size (e.g., 30 or less)?

Pisah senarai kepada senarai saiz tersuai yang lebih kecil

Apabila membahagikan senarai kepada senarai yang lebih kecil dengan saiz tertentu, ia boleh mengecewakan untuk menghadapi pemisahan senarai yang salah. Mari terokai cara mengubah suai fungsi anda splitList untuk memastikan ia dibahagikan dengan tepat kepada senarai bersaiz 30 atau kurang.

Masalah dengan fungsi asal anda ialah pengiraan gelung: for (int i=(int)(Math.Ceiling((decimal)(locations.Count/nSize))); i>=0; i--). Daripada lelaran daripada bilangan subsenarai yang diingini kepada 0, anda menggelung daripada nilai yang lebih tinggi, mengakibatkan pemisahan yang salah.

Fungsi yang dikemas kini hendaklah:

<code class="language-c#">public static List<List<float>> splitList(List<float> locations, int nSize = 30)
{
    List<List<float>> list = new List<List<float>>();

    int numLists = (int)(Math.Ceiling((decimal)(locations.Count / nSize)));

    for (int i = 0; i < numLists; i++)
    {
        List<float> subLocat = new List<float>(locations); // 创建locations的副本

        if (subLocat.Count >= ((i * nSize) + nSize))
            subLocat.RemoveRange(i * nSize, nSize);
        else
            subLocat.RemoveRange(i * nSize, subLocat.Count - (i * nSize));

        Debug.Log("Index: " + i.ToString() + ", Size: " + subLocat.Count.ToString());
        list.Add(subLocat);
    }

    return list;
}</code>
Salin selepas log masuk

Dalam versi yang dikemas kini ini, gelung berulang daripada 0 kepada bilangan subsenarai yang dikehendaki (numLists). Ini memastikan bahawa fungsi mula berpecah di lokasi yang sesuai. Selain itu, kod menggunakan List<float> subLocat = new List<float>(locations); untuk mencipta salinan locations, mengelakkan masalah senarai asal diubah suai.

Atas ialah kandungan terperinci Bagaimana untuk Membahagikan Senarai dengan Betul kepada Senarai yang Lebih Kecil daripada Saiz Tersuai (cth., 30 atau kurang)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan