Skip to main content

Featured

Merge Sort in C++

  Merge Sort in C++ Introduction Merge Sort is a popular sorting algorithm that follows the Divide and Conquer approach. It divides an array into smaller subarrays, recursively sorts those subarrays, and finally merges the sorted subarrays to produce a completely sorted array. In this tutorial, we will learn how to implement Merge Sort in C++ . The program divides the array into two halves using the mid index, recursively sorts both halves, and then combines them using the merge() function. Merge Sort has a time complexity of O(n log n) in the best, average, and worst cases. Table of Contents Algorithm C++ Program Input Sample Output Output Explanation Dry Run Flow of Execution Time Complexity Space Complexity Applications Key Points Interview Questions Frequently Asked Questions Keywords Conclusion Algorithm Start the program. Read the size of the array. Read the array elements from the user. Call the mer...

Merge Two Sorted Arrays - C Program

Merge Two Sorted Arrays - C Program

๐Ÿ”€ Merge Two Sorted Arrays (C Program)

#include <stdio.h>

int main() {
    int size1, size2;

    // Read size1
    printf("Enter a size1: ");
    scanf("%d", &size1);
    int a1[size1];

    printf("Enter array1 elements: ");
    for (int i = 0; i < size1; i++) {
        scanf("%d", &a1[i]);
    }

    // Read size2
    printf("Enter a size2: ");
    scanf("%d", &size2);
    int a2[size2];

    printf("Enter array2 elements: ");
    for (int i = 0; i < size2; i++) {
        scanf("%d", &a2[i]);
    }

    int merged[size1 + size2];
    int i = 0, j = 0, k = 0;

    // Merge two sorted arrays
    while (i < size1 && j < size2) {
        if (a1[i] < a2[j])
            merged[k++] = a1[i++];
        else
            merged[k++] = a2[j++];
    }

    // Copy remaining elements
    while (i < size1)
        merged[k++] = a1[i++];

    while (j < size2)
        merged[k++] = a2[j++];

    // Print merged array
    printf("Merged array: ");
    for (int m = 0; m < k; m++) {
        printf("%d ", merged[m]);
    }
    printf("\n");

    return 0;
}
  

๐Ÿ“˜ Explanation:

๐Ÿ”น This program takes two sorted arrays as input from the user.
๐Ÿ”น It merges them into a single sorted array using the two-pointer technique.
๐Ÿ”น Remaining elements from either array are added at the end.
๐Ÿ”น The final merged array is printed in sorted order.

๐Ÿงช Sample Output:

Enter a size1: 5
Enter array1 elements: 1 3 5 7 9
Enter a size2: 4
Enter array2 elements: 2 4 6 8
Merged array: 1 2 3 4 5 6 7 8 9
    

๐Ÿท️ Keywords:

C program merge arrays, sorted array merging, combine two sorted arrays, two-pointer technique C, array manipulation in C

Comments

Popular Posts

๐ŸŒ™