Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menentukan Sekiranya Unsur Wujud dalam Tatasusunan C?

Bagaimana untuk Menentukan Sekiranya Unsur Wujud dalam Tatasusunan C?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-10 00:03:03344semak imbas

How to Determine If an Element Exists in a C   Array?

Menentukan Kehadiran Elemen dalam Tatasusunan (C )

Masalah:
Bagaimana untuk memastikan jika elemen wujud dalam C array?

Penyelesaian:

Di Java, kaedah equals boleh digunakan untuk membandingkan objek untuk kesamaan. Walau bagaimanapun, C tidak menyokong kaedah sedemikian untuk objek. Sebaliknya, fungsi std::find boleh digunakan untuk mencari elemen tertentu:

Foo array[10];
... // Initialize the array

// std::find returns an iterator pointing to the found element or the end of the range
Foo* foo = std::find(std::begin(array), std::end(array), someObject);

if (foo != std::end(array)) {
    // Element found
    std::cerr << "Found at position " << std::distance(array, foo) << std::endl;
} else {
    // Element not found
    std::cerr << "Not found" << std::endl;
}

Penjelasan:

  • std::begin dan std ::end menyediakan iterator ke permulaan dan penghujung tatasusunan.
  • std::cari lelaran melalui tatasusunan, membandingkan setiap elemen dengan someObject menggunakan kaedah operator==.
  • Jika elemen ditemui, std::find mengembalikan iterator yang menunjuk kepadanya dan atur cara mencetak kedudukan elemen yang ditemui.
  • Jika elemen tidak dijumpai, std::find mengembalikan iterator yang menunjuk ke hujung tatasusunan, yang tidak sama dengan iterator yang dikembalikan oleh std::begin (permulaan tatasusunan). Dalam kes ini, program mencetak "Tidak dijumpai."

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Sekiranya Unsur Wujud dalam Tatasusunan 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