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...

C Program to Merge Two Arrays and Sort the Result

๐Ÿ”„ C Program to Merge Two Arrays and Sort the Result

#include <stdio.h>
int main( )
{
    int num1, num2, num3;

    printf("Enter the size of the first array:\n");
    scanf("%d", &num1);
    if(num1 <= 0)
    {
        printf("!invalid size of the first array:\n");
        return 1;
    }

    int a[num1];
    printf("Enter %d elements in first array:\n", num1);
    for(int i = 0; i < num1; i++)
    {
        scanf("%d", &a[i]);
    }

    printf("Enter the size of the second array:\n");
    scanf("%d", &num2);
    if(num2 <= 0)
    {
        printf("!invalid second array size:\n");
        return 1;
    }

    int b[num2];
    printf("Enter %d elements of the second array:\n", num2);
    for(int i = 0; i < num2; i++)
    {
        scanf("%d", &b[i]);
    }

    num3 = num1 + num2;
    int c[num3];

    // Merging first array
    for(int i = 0; i < num1; i++)
    {
        c[i] = a[i];
    }

    // Merging second array
    for(int i = 0; i < num2; i++)
    {
        c[i + num1] = b[i];
    }

    printf("The Merged Array:\n");
    for(int i = 0; i < num3; i++)
    {
        printf("%d ", c[i]);
    }

    // Bubble sort
    printf("\nSorted Array:\n");
    for(int i = 0; i < num3 - 1; i++)
    {
        for(int j = 0; j < num3 - i - 1; j++)
        {
            if(c[j] > c[j + 1])
            {
                int temp = c[j];
                c[j] = c[j + 1];
                c[j + 1] = temp;
            }
        }
    }

    for(int i = 0; i < num3; i++)
    {
        printf("%d ", c[i]);
    }

    return 0;
}
  

๐Ÿ“ Explanation:

This program takes two arrays as input from the user, merges them into a third array, and sorts the result using the bubble sort algorithm. It checks the validity of sizes and uses separate loops for merging and sorting.

๐Ÿ’ก Sample Output:

Enter the size of the first array:
3
Enter 3 elements in first array:
5 1 7
Enter the size of the second array:
3
Enter 3 elements of the second array:
4 2 9
The Merged Array:
5 1 7 4 2 9
Sorted Array:
1 2 4 5 7 9
  

๐Ÿ” Keywords:

merge two arrays in C, sort merged array C, bubble sort logic, C array programs, data structure basics, C programming for beginners

Comments

Popular Posts

๐ŸŒ™