Zahlenarrays sind eine praktische Datenstruktur zum Speichern und Verarbeiten großer Mengen an Informationen. Normalerweise müssen Arrays sortiert werden, wenn sie mit Arrays arbeiten. Es gibt viele Möglichkeiten, Arrays zu sortieren, und eine solche Methode besteht darin, die Zahlen in absteigender Reihenfolge der Summe der Ziffern zu sortieren.
Die Summe der Ziffern einer Zahl ist die Summe aller Ziffern einer Zahl. Für die Zahl 123 ist beispielsweise die Summe ihrer Ziffern gleich 1+2+3 =6. Wenn das Array Zahlen mit der gleichen Anzahl von Ziffern enthält, sollten Sie sie in aufsteigender Reihenfolge anordnen.
Algorithmus zum Sortieren eines Arrays von Zahlen in absteigender Reihenfolge der Summe der Ziffern
Der absteigende Sortieralgorithmus für die Summe der Ziffern eines Zahlenarrays kann wie folgt implementiert werden:
- Durchlaufen Sie jede Zahl im Array.
- Berechnen Sie die Summe der Ziffern der aktuellen Zahl.
- Speichert die Summe der Ziffern in einem separaten Array oder in einem Objektfeld, das der aktuellen Zahl zugeordnet ist.
- Sortieren Sie das ursprüngliche Zahlenarray in aufsteigender Reihenfolge der Ziffernsummen.
- Gibt das sortierte Zahlenarray in absteigender Reihenfolge der Ziffernsummen aus.
Verschiedene Programmiersprachen wie JavaScript, Python, Java und andere können verwendet werden, um diesen Algorithmus zu implementieren. Die grundlegenden Schritte des Algorithmus bleiben unverändert, die Implementierungsdetails können jedoch von der spezifischen Programmiersprache abhängen.
Die Verwendung eines solchen Algorithmus kann beispielsweise bei der Lösung von Problemen nützlich sein, die mit der Auswahl der am besten geeigneten Elemente aus einem Array von Zahlen verbunden sind. Die Summe der Ziffern jeder Zahl kann als Indikator für ihren "Wert" oder "Wichtigkeit" im Kontext einer bestimmten Aufgabe dienen.
Daher ist der Algorithmus zum Sortieren eines Arrays von Zahlen in absteigender Zahlensumme ein wichtiges Programmierwerkzeug, das in verschiedenen Situationen zum Organisieren und Analysieren von numerischen Daten verwendet werden kann.
Schritt 1: Ein Array von Zahlen abrufen
Bevor wir ein Array von Zahlen in absteigender Reihenfolge der Summe der Ziffern anordnen, müssen wir das Array selbst erhalten. Dazu können wir verschiedene Methoden verwenden:
- Geben Sie die Zahlen manuell über die Tastatur ein und fügen Sie sie dem Array hinzu;
- Wir generieren Zufallszahlen und fügen sie dem Array hinzu;
- Wir erhalten ein Array aus einer anderen Datenquelle, z. B. aus einer Datei oder Datenbank.
In diesem Artikel betrachten wir die erste Methode - die Eingabe von Zahlen über die Tastatur und das Hinzufügen zu einem Array.
Dazu können wir den folgenden Algorithmus verwenden:
- Erstellen Sie ein leeres Zahlenarray;
- Wir fragen den Benutzer nach der Anzahl der Zahlen, die er eingeben möchte;
- Mit einer Schleife wiederholen wir die folgenden Schritte so oft wie nötig:
- Wir bitten den Benutzer um eine Nummer;
- Fügen Sie diese Zahl dem Array hinzu;
- Wir erhalten ein Array von Zahlen, das für die weitere Verarbeitung bereit ist.
Jetzt haben wir ein Array von Zahlen, und wir können zum nächsten Schritt übergehen - dieses Array in absteigender Reihenfolge der Summe der Ziffern anordnen.
Schritt 2: Berechnen Sie die Summe der Ziffern jeder Zahl
Um ein Array von Zahlen in absteigender Reihenfolge der Summe der Ziffern zu ordnen, müssen Sie die Summe der Ziffern jeder Zahl im Array berechnen. Als nächstes werden die resultierenden Werte verwendet, um das Array zu sortieren.
Um die Summe der Ziffern jeder Zahl zu berechnen, verwenden wir eine Schleife, die jedes Element des Arrays durchläuft und alle seine Ziffern addiert. Dazu konvertieren wir eine Zahl in eine Zeichenfolge und brechen sie dann in einzelne Zeichen auf. Danach werden wir jedes Zeichen wieder in eine Zahl umwandeln und alle erhaltenen Werte addieren.
Beispielcode zum Berechnen der Summe der Ziffern jeder Zahl in einem Array:
function sumDigits(number) return sum;>var numbers = [34876159235];var sums = [];for (var j = 0; jJetzt haben wir ein Array von sums , das die Summe der Ziffern jeder Zahl aus dem ursprünglichen Array enthält. Dieses Array wird verwendet, um das ursprüngliche Array in absteigender Zahl zu sortieren und zu ordnen.
Im nächsten Schritt betrachten wir den Prozess des Sortierens des ursprünglichen Arrays unter Verwendung der resultierenden Werte für die Summe der Ziffern.
Schritt 3: Ordnen Sie das Array in absteigender Reihenfolge der Ziffernsumme an
Nachdem wir ein Array von Zahlen der Summe der Ziffern erhalten haben, ist es an der Zeit, es absteigend zu ordnen. Dies ermöglicht es uns, die wichtigsten Zahlen mit der größten Summe von Ziffern leicht zu identifizieren.
Um das Array in absteigender Reihenfolge zu ordnen, können wir die Sortierfunktion verwenden. In unserem Fall müssen wir eine spezielle Komparatorfunktion verwenden, die die Summen der Ziffern zweier Zahlen vergleicht und das Ergebnis des Vergleichs zurückgibt.
Hier ist ein Beispiel für eine JavaScript-Komparatorfunktion:
function compare(a, b)/ Вычисляем сумму цифр для a и blet sumA = sumDigits(a);let sumB = sumDigits(b);if (sumA < sumB) else if (sumA > sumB) else >
Wir können diese Komparatorfunktion zusammen mit der sort() -Methode verwenden, um das Array in absteigender Reihenfolge der Summe der Ziffern zu sortieren. Hier ist ein Beispielcode:
// Упорядочиваем массив по убыванию суммы цифрnumbers.sort(compare);
Jetzt ist unser Zahlenarray in absteigender Reihenfolge der Summe der Ziffern angeordnet, und wir können mit den nächsten Schritten fortfahren.