System.Generics.Collections.TArray.BinarySearch

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

class function BinarySearch<T>(const Values: array of T; const Item: T;
out FoundIndex: Integer; const Comparer: IComparer<T>;
Index, Count: Integer): Boolean; overload; static;
class function BinarySearch<T>(const Values: array of T; const Item: T;
out FoundIndex: Integer; const Comparer: IComparer<T>): Boolean; overload; static;
class function BinarySearch<T>(const Values: array of T; const Item: T;
out FoundIndex: Integer): Boolean; overload; static;

C++

template<typename T> static bool __fastcall BinarySearch(const T *Values, const int Values_High, const T Item, /* out */ int &FoundIndex, const System::DelphiInterface<System::Generics::Defaults::IComparer__1<T> > Comparer, int Index, int Count)/* overload */;
template<typename T> static bool __fastcall BinarySearch(const T *Values, const int Values_High, const T Item, /* out */ int &FoundIndex, const System::DelphiInterface<System::Generics::Defaults::IComparer__1<T> > Comparer)/* overload */;
template<typename T> static bool __fastcall BinarySearch(const T *Values, const int Values_High, const T Item, /* out */ int &FoundIndex)/* overload */;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
System.Generics.Collections.pas
System.Generics.Collections.hpp
System.Generics.Collections TArray

Beschreibung

Durchsucht per Binärsuche ein generisch sortiertes Array nach einem Element.

Die Methode BinarySearch durchsucht per Binärsuche das Array Values nach dem Element Item.

BinarySearch gibt True zurück, wenn das Element gefunden wird und ansonsten False. Bei gefundenem Element enthält FoundIndex den nullbasierten Index von Item. Bei nicht gefundenem Element enthält FoundIndex den Index des ersten Eintrags, der größer als Item ist.

Wenn in der Liste mehrere Elemente gleich Item sind, wird der Index der ersten Übereinstimmung in FoundIndex zurückgegeben. Dies ist der Index eines beliebigen übereinstimmenden Elements, nicht notwendigerweise des ersten.

BinarySearch ist mit einem O(log n)-Suchalgorithmus für ein Array mit n Einträgen implementiert.

Anmerkung:  Für BinarySearch muss das Array sortiert sein.

Anmerkung:  Wenn der Parameter Comparer angegeben ist, wird dieser als Vergleichsoperator für die Elemente verwendet; wenn nicht, wird der Standardvergleichsoperator verwendet.

Siehe auch

Codebeispiele