Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh membaca maklumat bersebelahan graf daripada fail teks dan menyimpannya ke dalam vektor dalam C?

Bagaimanakah saya boleh membaca maklumat bersebelahan graf daripada fail teks dan menyimpannya ke dalam vektor dalam C?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-31 06:01:01892semak imbas

How can I read graph adjacency information from a text file and store it into a vector in C  ?

Membaca Maklumat Bersebelahan Graf daripada Fail Teks dalam C

Untuk membaca maklumat bersebelahan graf daripada fail teks dan menyimpannya ke dalam vektor, di mana setiap baris mengandungi bilangan integer yang berubah-ubah, kami boleh menggunakan langkah berikut:

Pertama, kami memasukkan pengepala yang diperlukan untuk manipulasi fail dan aliran rentetan:

<code class="cpp">#include <fstream>
#include <sstream></code>

Seterusnya, kami membuka fail teks menggunakan objek ifstream:

<code class="cpp">std::ifstream infile("thefile.txt");</code>

Kami mewujudkan rentetan untuk menyimpan setiap baris:

<code class="cpp">std::string line;</code>

Kemudian, kami memasukkan gelung untuk membaca setiap baris satu demi satu:

<code class="cpp">while (std::getline(infile, line))</code>

Untuk setiap baris, kami mencipta aliran istring untuk memproses rentetan:

<code class="cpp">std::istringstream iss(line);</code>

Kami mengisytiharkan integer n dan vektor v untuk menyimpan integer yang dihuraikan:

<code class="cpp">int n;
std::vector<int> v;</code>

Di dalam gelung sementara yang lain, kami mengulangi aliran istring, membaca integer ke dalam n dan menolaknya ke dalam vektor:

<code class="cpp">while (iss >> n)
{
    v.push_back(n);
}</code>

Akhir sekali, kita boleh menggunakan vektor v untuk mewakili maklumat bersebelahan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh membaca maklumat bersebelahan graf daripada fail teks dan menyimpannya ke dalam vektor 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