Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Manuelle Array-Sortierung | Array-Manipulation und Sortierung
C#-Arrays

Manuelle Array-Sortierung

Swipe um das Menü anzuzeigen

Sortieren ist eine grundlegende Operation in der Programmierung, da sie hilft, Daten zu organisieren, um das Suchen, Analysieren und Präsentieren von Informationen effizienter zu gestalten. Obwohl C# integrierte Methoden zum Sortieren von Arrays bereitstellt, vermittelt das Verständnis, wie Sortieralgorithmen funktionieren, wertvolle Einblicke in das algorithmische Denken und die Problemlösung. Manuelle Sortieralgorithmen wie der selection sort ermöglichen es, Schritt für Schritt nachzuvollziehen, wie Elemente verglichen und verschoben werden, um ein sortiertes Array zu erhalten. Dieses Verständnis ist besonders wichtig in Situationen, in denen benutzerdefinierte Sortierlogik benötigt wird oder in Umgebungen mit eingeschränkter Bibliotheksunterstützung gearbeitet wird.

Note
Definition

Selection Sort ist ein einfacher Sortieralgorithmus, der wiederholt das kleinste (für aufsteigende Reihenfolge) oder größte (für absteigende Reihenfolge) Element aus dem unsortierten Teil des Arrays auswählt und an die richtige Position im sortierten Teil verschiebt.

Program.cs

Program.cs

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[] numbers = { 5, 2, 9, 1, 5, 6 }; Console.WriteLine("Original array:"); PrintArray(numbers); SelectionSortAscending(numbers); Console.WriteLine("Sorted array (ascending):"); PrintArray(numbers); } public static void SelectionSortAscending(int[] array) { int n = array.Length; for (int i = 0; i < n - 1; i++) { int minIndex = i; for (int j = i + 1; j < n; j++) { if (array[j] < array[minIndex]) { minIndex = j; } } int temp = array[i]; array[i] = array[minIndex]; array[minIndex] = temp; } } public static void PrintArray(int[] array) { foreach (int num in array) { Console.Write(num + " "); } Console.WriteLine(); } } }

Selection Sort funktioniert, indem das Array in einen sortierten und einen unsortierten Bereich unterteilt wird. In jedem Schritt wird das kleinste Element aus dem unsortierten Bereich ausgewählt und mit dem ersten unsortierten Element getauscht, wodurch der sortierte Bereich um eins wächst.

Im obigen Code wird durch jedes Element im Array (außer dem letzten) iteriert. Für jede Position i wird nach dem kleinsten Wert im restlichen Array (von i + 1 bis zum Ende) gesucht. Wenn ein kleineres Element gefunden wird, wird minIndex aktualisiert. Nach der inneren Schleife wird das Element an Position i mit dem Element an minIndex getauscht, sodass der kleinste Wert an die aktuelle Position gelangt. Dieser Vorgang wird wiederholt, bis das gesamte Array aufsteigend sortiert ist.

Program.cs

Program.cs

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[] numbers = { 3, 8, 4, 7, 2, 9 }; Console.WriteLine("Original array:"); PrintArray(numbers); SelectionSortDescending(numbers); Console.WriteLine("Sorted array (descending):"); PrintArray(numbers); } public static void SelectionSortDescending(int[] array) { int n = array.Length; for (int i = 0; i < n - 1; i++) { int maxIndex = i; for (int j = i + 1; j < n; j++) { if (array[j] > array[maxIndex]) { maxIndex = j; } } int temp = array[i]; array[i] = array[maxIndex]; array[maxIndex] = temp; } } public static void PrintArray(int[] array) { foreach (int num in array) { Console.Write(num + " "); } Console.WriteLine(); } } }

Der Code definiert eine Program-Klasse mit einer Main-Methode, die zeigt, wie ein Integer-Array mithilfe von Selection Sort in absteigender Reihenfolge sortiert wird. Zunächst wird das numbers-Array initialisiert und dessen ursprünglicher Inhalt ausgegeben. Anschließend wird die Methode SelectionSortDescending aufgerufen, um das Array von groß nach klein zu sortieren. Diese Methode sucht wiederholt nach dem größten Wert im unsortierten Teil des Arrays und tauscht ihn mit dem ersten unsortierten Element. Nach dem Sortieren gibt das Programm das aktualisierte Array aus, wobei die Elemente in absteigender Reihenfolge angezeigt werden.

1. Wie ist die Zeitkomplexität von Selectionsort?

2. Worin unterscheidet sich Selectionsort von Bubblesort?

3. Warum könnte man das Sortieren manuell implementieren, anstatt integrierte Methoden zu verwenden?

question mark

Wie ist die Zeitkomplexität von Selectionsort?

Wählen Sie die richtige Antwort aus

question mark

Worin unterscheidet sich Selectionsort von Bubblesort?

Wählen Sie die richtige Antwort aus

question mark

Warum könnte man das Sortieren manuell implementieren, anstatt integrierte Methoden zu verwenden?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 3. Kapitel 3
some-alt