Schreiben Sie ein C-Programm, um zwei verschiedene Arrays zusammenzuführen

Schreiben Sie ein C-Programm, um zwei verschiedene Arrays zusammenzuführen

Schreiben Sie ein C-Programm, um zwei verschiedene Arrays zusammenzuführen. Hier ist ein einfaches Programm zum Zusammenführen von zwei verschiedenen Arrays in der Programmiersprache C.

Was ist ein Array?

Arrays sind eine Art Datenstruktur, die eine sequenzielle Sammlung fester Größe von Elementen desselben Typs speichern kann. Ein Array wird verwendet, um eine Sammlung von Daten zu speichern, aber es ist oft sinnvoller, sich ein Array als eine Sammlung von Variablen desselben Typs vorzustellen.

Anstatt einzelne Variablen wie Zahl0, Zahl1, … und Zahl99 zu deklarieren, deklarieren Sie eine Array-Variable wie Zahlen und verwenden Zahlen[0], Zahlen[1] und …, Zahlen[99], um einzelne Variablen darzustellen. Auf ein bestimmtes Element in einem Array wird über einen Index zugegriffen.

Alle Arrays bestehen aus zusammenhängenden Speicherstellen. Die niedrigste Adresse entspricht dem ersten Element und die höchste Adresse dem letzten Element.

Hier ist der Quellcode des C-Programms zum Zusammenführen von zwei verschiedenen Arrays. Das C-Programm wird erfolgreich kompiliert und (auf Codeblocks) auf einem Windows-System ausgeführt. Die Programmausgabe wird auch unten gezeigt.

QUELLCODE ::

/*  C Program to Merge Sort of two different arrays */

#include <stdio.h>

void Merge(int * , int , int , int );

void MergeSort(int *array, int left, int right)
{
    int middle = (left+right)/2;
    /* We have to sort only when left<right because when left=right it is anyhow sorted*/
    if(left<right)
    {
        /* Sort the left part */
        MergeSort(array, left, middle);
        /* Sort the right part */
        MergeSort(array, middle + 1, right);
        /* Merge the two sorted parts */
        Merge(array, left, middle, right);
    }
}
/* Merge functions merges the two sorted parts */
void Merge(int *array, int left, int middle, int right)
{
    /*to store sorted array*/
    int tmp[right - left + 1];
    int pos = 0, leftposition = left, rightposition = middle + 1;
    while (leftposition <= middle && rightposition <= right)
    {
        if (array[leftposition] < array[rightposition])
        {
            tmp[pos++] = array[leftposition++];
        }
        else
        {
            tmp[pos++] = array[rightposition++];
        }
    }
    while (leftposition <= middle)
        tmp[pos++] = array[leftposition++];
    while (rightposition <= right)
        tmp[pos++] = array[rightposition++];
    int i;
    /* Copy back the sorted array to the original array */
    for (i = 0; i < pos; i++)
    {
        array[i + left] = tmp[i];
    }
    return;
}
int main()
{
    int size;
    printf("Enter the size of an array :: ");
    scanf("%d", &size);
    int array[size];
    int i, j, k;
    printf("\nEnter the array elements :: \n");
    for (i = 0; i < size; i++)
    {
        printf("\nEnter %d array element :: ",i+1);
        scanf("%d", &array[i]);
    }
    /* Calling this functions sorts the array */
    MergeSort(array, 0, size - 1);
    printf("\nAfter Merge Sort :: ");
    for (i = 0; i < size; i++)
    {
        printf("%d ", array[i]);
    }
    printf("\n");
    return 0;
}

Ausgabe ::

/* C Program to Merge Sort of two different arrays */

Enter the size of an array :: 7

Enter the array elements ::

Enter 1 array element :: 5

Enter 2 array element :: 3

Enter 3 array element :: 6

Enter 4 array element :: 8

Enter 5 array element :: 2

Enter 6 array element :: 8

Enter 7 array element :: 1

After Merge Sort :: 1 2 3 5 6 8 8

Wenn Sie Fehler oder Fragen im Zusammenhang mit dem oben genannten Programm oder Fragen oder Bewertungen gefunden haben, die Sie uns stellen möchten, können Sie uns kontaktieren über unsere Kontaktseite oder Sie können auch unten im Kommentarbereich einen Kommentar abgeben. Wir werden unser Bestes tun, um Sie in kurzen Abständen zu erreichen.