Sie benötigen eine Möglichkeit, zwei beliebige Instanzen der Struktur zu vergleichen. Einen Vergleichsoperator zu schreiben, sagen wir operator<()
, könnte ein bequemer Weg sein, darüber zu gehen.
class Record {
friend bool operator<(const Record&, const Record&);
std::string name;
// ...
};
bool operator<(const Record& a, const Record& b)
{
// return true if the name of a is less than the name of b
}
Da ein Knoten fügt entweder auf der linken oder der rechten Unterbaum subtree Sie wissen müssen, wenn ein Knoten „kleiner als“ einen anderen Knoten ist. Wenn nicht, ist es egal, ob es größer oder gleich dem anderen Knoten ist. es geht auf dem anderen Teilbaum in beide Richtungen.
Natürlich können Sie den Gleichheitsvergleich für eine andere Aufgabe benötigen. Wenn Sie das tun, ist es eine gute Idee, den ganzen Weg zu gehen und auch den Ungleichheitsoperator bereitzustellen.
Ebenfalls von Interesse ist der rel_ops
Namensraum.
:::::: Hausaufgaben? – wilhelmtell
Müssen Sie zuerst den Binärbaum schreiben? – wilhelmtell
Ich habe die Binary Tree Klasse schon geschrieben ...Ich bin nur verwirrt über die Überlastung des Bedieners – Johnrad