Heim >Backend-Entwicklung >C++ >Wie kann festgestellt werden, ob ein Element in einem C-Array vorhanden ist?

Wie kann festgestellt werden, ob ein Element in einem C-Array vorhanden ist?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-10 00:03:03350Durchsuche

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

Bestimmen der Elementpräsenz in einem Array (C)

Problem:
Wie kann festgestellt werden, ob ein Element in einem C-Array vorhanden ist?

Lösung:

In Java kann die Methode „equals“ verwendet werden, um Objekte auf Gleichheit zu vergleichen. C unterstützt eine solche Methode für Objekte jedoch nicht. Stattdessen kann die Funktion std::find verwendet werden, um nach einem bestimmten Element zu suchen:

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;
}

Erklärung:

  • std::begin und std ::end stellt Iteratoren für den Anfang und das Ende des Arrays bereit.
  • std::find iteriert durch das Array und vergleicht jedes Element mit someObject unter Verwendung der Methode „operator==“.
  • Wenn das Element gefunden wird, gibt std::find einen Iterator zurück, der darauf zeigt, und das Programm gibt die Position des gefundenen Elements aus.
  • Wenn das Element nicht gefunden wird, gibt std::find einen Iterator zurück, der auf das Ende von zeigt das Array, das nicht dem von std::begin zurückgegebenen Iterator entspricht (dem Anfang des Arrays). In diesem Fall gibt das Programm „Nicht gefunden“ aus.

Das obige ist der detaillierte Inhalt vonWie kann festgestellt werden, ob ein Element in einem C-Array vorhanden ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn