Im Programmierprozess kommt es oft vor, dass wir ein Element in einem Array finden müssen. Zu diesem Zeitpunkt können wir die Suchfunktion verwenden, um diese Aufgabe einfach abzuschließen. In diesem Artikel wird detailliert beschrieben, wie Sie die Suchfunktion verwenden, um Elemente in einem Array zu finden, und es werden einige Codebeispiele bereitgestellt.
1. Definition der Suchfunktion
In C++ STL ist die Suchfunktion in der Header-Datei
Unter diesen muss die zweite Version der cmp-Funktion die folgenden Anforderungen erfüllen:
2. Verwenden Sie die Suchfunktion, um Elemente im Array zu finden.
Angenommen, wir haben ein ganzzahliges Array a und möchten herausfinden, ob es das Element x enthält. Wir können die Suchfunktion verwenden, um diese Aufgabe abzuschließen. Der spezifische Code lautet wie folgt:
#include <iostream> #include <algorithm> using namespace std; int main() { int a[] = {1, 3, 5, 7, 9}; int x = 5; int* p = find(a, a + 5, x); // 在a数组中查找元素x if (p != a + 5) { // 如果找到了,输出对应下标,否则输出未找到 cout << "找到了,下标为:" << p - a << endl; } else { cout << "未找到" << endl; } return 0; }
Der obige Code definiert zunächst ein ganzzahliges Array a und ein zu findendes Element x und verwendet dann die Suchfunktion, um das Element x in zu finden das Array a. Wenn gefunden, wird der Index des Elements im Array ausgegeben; andernfalls wird die Ausgabe nicht gefunden.
3. Verwenden Sie Funktionsobjekte, um Vergleichsregeln anzupassen.
Mit der zweiten Version der Suchfunktion können Sie Funktionsobjekte verwenden, um Vergleichsregeln anzupassen. Im folgenden Beispiel definieren wir eine Struktur Cmp und überladen den ()-Operator, um die Größe entsprechend der absoluten Größe der Elemente zu vergleichen.
#include <iostream> #include <algorithm> using namespace std; struct Cmp { bool operator() (int x, int y) { return abs(x) < abs(y); } }; int main() { int a[] = {-3, 1, -5, 7, 2}; int x = -5; int* p = find(a, a + 5, x, Cmp()); // 在a数组中按照绝对值大小查找元素x if (p != a + 5) { cout << "找到了,下标为:" << p - a << endl; } else { cout << "未找到" << endl; } return 0; }
Im obigen Code definieren wir die Vergleichsregel als eine Struktur namens Cmp, die den ()-Operator überlädt, sodass er den absoluten Wert der Elemente vergleicht. In der Suchfunktion verwenden wir Cmp(), um ein Funktionsobjekt zu instanziieren, das gemäß den definierten Regeln durchsucht werden soll.
Zusammenfassung
In diesem Artikel wird erläutert, wie Sie mithilfe der Suchfunktion in C++ STL Elemente in einem Array finden, und es werden einige Codebeispiele bereitgestellt. Durch die Anpassung der Vergleichsregeln demonstrieren wir auch die Flexibilität der Suchfunktion. In der tatsächlichen Entwicklung können wir auf den Inhalt dieses Artikels zurückgreifen, um geeignete Vergleichsregeln auszuwählen, um bessere Funktionen für unsere Programme bereitzustellen.
Das obige ist der detaillierte Inhalt vonWie finde ich ein Element in einem Array mit der Suchfunktion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!