Ich habe Probleme, eine Methode zu schreiben, die true zurückgibt, wenn die Elemente eines Arrays (Zahlen) in sortierter Reihenfolge aufsteigend oder absteigend und falsch sind, wenn sie nicht in einer sortierten Reihenfolge sind. Ich kann einen korrekten booleschen Wert zurückgeben, wenn das Array aufsteigend ist, aber ich weiß auch nicht, wie man in der gleichen Methode nach absteigender Reihenfolge sucht. Ich habe derzeit:
%Vor%Kann jemand Hilfe anbieten, um auch nach einem sortierten absteigenden Array zu suchen? Prost!
Es sollte etwa so aussehen:
%Vor% Beachten Sie die Verwendung der Variable ascending
, um die "Richtung" des Arrays zu speichern. Es wird beim ersten Mal initialisiert, wenn zwei verschiedene Elemente gefunden werden.
Wenn Sie möchten, können Sie sogar die "Richtung" des Arrays zurückgeben:
%Vor% und innerhalb der if (ascending == null)
Dies ist eine generische Version basierend auf IEnumerable<TSource>
:
Beachten Sie die Verwendung von bool first
/ TSource previous
, um die i - 1
zu verarbeiten (und die Tatsache, dass der for
-Zyklus das erste Element überspringen konnte)
Dies verwendet eine Schleife, um beide Fälle zu testen:
%Vor%Verwendung:
%Vor%Wenn Sie es zu einer Erweiterungsmethode machen, können Sie es mit einem beliebigen Typ verwenden:
%Vor%