Arrayelemente sortieren

CBeginner
Jetzt üben

Einführung

In diesem Lab werden Sie durch einen schrittweisen Prozess zum Sortieren von Array-Elementen in aufsteigender Reihenfolge geführt.

Erstelle eine neue Datei

Erstellen Sie in dem Verzeichnis ~/project/ eine neue C-Programmdatei namens main.c. Hier werden Sie Ihren Code schreiben.

Variablen deklarieren

Beginnen Sie mit der Deklaration der erforderlichen Variablen, die Sie beim Sortieren des Arrays verwenden werden:

#include <stdio.h>

int main()
{
    int n, i, j, temp, arr[100];
  • n speichert die Anzahl der Elemente
  • arr wird das Array sein, das die Elemente aufnehmen wird
  • i und j sind Schleifenzähler
  • temp ist eine temporäre Variable, die zum Tauschen von Elementen verwendet wird

Arrayelemente eingeben

Bitten Sie den Benutzer, die Anzahl der Elemente einzugeben, die sie sortieren möchten, und fordern Sie sie anschließend auf, jedes Element einzugeben:

    printf("Enter the number of elements you want to sort (max 100): ");
    scanf("%d", &n);
    printf("Enter %d integers: \n", n);
    for(i = 0; i < n; i++)
        scanf("%d", &arr[i]);

Die Arrayelemente sortieren

Verwenden Sie eine geschachtelte for-Schleife, um das Array zu sortieren:

    for(i = 0; i < n-1; i++)
    {
        for(j = 0; j < n-i-1; j++)
        {
            if(arr[j] > arr[j+1])
            {
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }

Die sortierten Arrayelemente anzeigen

Zeigen Sie die sortierten Array-Elemente an:

    printf("Sorted list in ascending order:\n");
    for(i = 0; i < n; i++)
        printf("%d ", arr[i]);
    printf("\n");

Das Programm kompilieren und ausführen

Kompilieren und führen Sie das Programm aus, um sicherzustellen, dass es korrekt funktioniert.

Voller Quellcode in main.c

#include <stdio.h>

int main()
{
    int n, i, j, temp, arr[100];

    printf("Enter the number of elements you want to sort (max 100): ");
    scanf("%d", &n);
    printf("Enter %d integers: \n", n);
    for(i = 0; i < n; i++)
        scanf("%d", &arr[i]);

    for(i = 0; i < n-1; i++)
    {
        for(j = 0; j < n-i-1; j++)
        {
            if(arr[j] > arr[j+1])
            {
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }

    printf("Sorted list in ascending order:\n");
    for(i = 0; i < n; i++)
        printf("%d ", arr[i]);
    printf("\n");

    return 0;
}

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie Array-Elemente in aufsteigender Reihenfolge mit einem C-Programm sortieren. Nun können Sie diese Kenntnisse nutzen, um Arrays mit Ihrem eigenen Code zu sortieren.