Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menghuraikan Rentetan Integer yang Dipisahkan Koma dengan Cekap ke dalam Tatasusunan?

Bagaimana untuk Menghuraikan Rentetan Integer yang Dipisahkan Koma dengan Cekap ke dalam Tatasusunan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-22 07:12:10329semak imbas

How to Efficiently Parse a Comma-Separated String of Integers into an Array?

Menghuraikan Rentetan Integer Dipisahkan Koma

Tugas dalam soalan ini melibatkan menghuraikan rentetan yang mengandungi integer dipisahkan koma ke dalam tatasusunan integer . Untuk mencapai matlamat ini, pendekatan mudah disyorkan:

Pemprosesan Input:

  1. Buat aliran rentetan daripada rentetan input.
  2. Lelaran atas rentetan strim aksara demi aksara.
  3. Baca setiap nombor sehingga menemui koma (',').

Pengendalian Koma:

  1. Selepas mengekstrak nombor, semak aksara seterusnya dalam aliran rentetan.
  2. Jika koma, buangkannya untuk mara ke nombor seterusnya.
  3. Jika tidak, lelaran diteruskan untuk mengekstrak nombor seterusnya.

Mengisi Tatasusunan:

  1. Dengan setiap nombor yang diekstrak, tambahkannya pada vektor integer (untuk membolehkan dinamik mengubah saiz mengikut keperluan).

Contoh Pelaksanaan:

Di bawah ialah contoh kod C yang menunjukkan pendekatan ini:

#include <vector>
#include <string>
#include <sstream>
#include <iostream>

int main()
{
    std::string str = "1,2,3,4,5,6";
    std::vector<int> vect;

    std::stringstream ss(str);

    for (int i; ss >> i;) {
        vect.push_back(i);    
        if (ss.peek() == ',')
            ss.ignore();
    }

    for (std::size_t i = 0; i < vect.size(); i++)
        std::cout << vect[i] << std::endl;
}

Faedah:

  • Pendekatan ini adalah mudah untuk difahami dan dilaksanakan.
  • Ia cekap untuk menghuraikan rentetan besar dengan banyak nombor dipisahkan koma.
  • Ia boleh disesuaikan untuk pengendalian tambahan aksara khas atau senario lain mengikut keperluan.

Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Rentetan Integer yang Dipisahkan Koma dengan Cekap ke dalam Tatasusunan?. 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