Beim Sortieren eines Arrays in aufsteigender Reihenfolge werden die Elemente vom kleinsten zum größten Element angeordnet. In diesem Artikel lernen wir, ein Array in der Programmiersprache C in aufsteigender Reihenfolge zu sortieren.
Es gibt viele Möglichkeiten, das Array in aufsteigender Reihenfolge zu sortieren. Der Einfachheit halber verwenden wir in diesem Artikel die Auswahlsortierung.
Algorithmus
Die Auswahlsortierung ist ein einfacher Sortieralgorithmus, der wiederholt das kleinste Element aus dem unsortierten Teil des Arrays findet und es am Anfang des sortierten Teils des Arrays platziert, bis das gesamte Array sortiert ist.
String als Array
- Das Array kann in aufsteigender Reihenfolge sortiert werden, indem wiederholt das minimale Element (unter Berücksichtigung aufsteigender Reihenfolge) aus dem unsortierten Teil gefunden und an den Anfang gestellt wird.
- Der Algorithmus verwaltet zwei Unterarrays in einem bestimmten Array.
- Das Subarray, das bereits sortiert ist.
- Verbleibendes Subarray, das unsortiert ist.
- Bei jeder Iteration der Auswahlsortierung wird das minimale Element (in aufsteigender Reihenfolge) aus dem unsortierten Subarray ausgewählt und in das sortierte Subarray verschoben.
Den vollständigen Artikel finden Sie unter Auswahlsortierung für mehr Details!
Array-Sortierprogramm in C
C
// C program to sort the array in an> // ascending order using selection sort> #include> > void> swap(>int>* xp,>int>* yp)> {> >int> temp = *xp;> >*xp = *yp;> >*yp = temp;> }> > // Function to perform Selection Sort> void> selectionSort(>int> arr[],>int> n)> {> >int> i, j, min_idx;> > >// One by one move boundary of> >// unsorted subarray> >for> (i = 0; i // Find the minimum element in // unsorted array min_idx = i; for (j = i + 1; j if (arr[j] min_idx = j; // Swap the found minimum element // with the first element swap(&arr[min_idx], &arr[i]); } } // Function to print an array void printArray(int arr[], int size) { int i; for (i = 0; i printf('%d ', arr[i]); printf('
'); } // Driver code int main() { int arr[] = { 0, 23, 14, 12, 9 }; int n = sizeof(arr) / sizeof(arr[0]); printf('Original array:
'); printArray(arr, n); selectionSort(arr, n); printf('
Sorted array in Ascending order:
'); printArray(arr, n); return 0; }> |
arischer Khan
>
>
.nächstes JavaAusgabe
Original array: 0 23 14 12 9 Sorted array in Ascending order: 0 9 12 14 23>
Komplexitätsanalyse
- Zeitkomplexität: O(N2) Hilfsraum: O(1)
In Verbindung stehende Artikel
- Auswahlsortierung
- Blasensortierung
- Zusammenführen, sortieren
- Radix sortieren
- Sortieren durch Einfügen