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 Find the Second Smallest Element In an Array Without Sorting

๐Ÿ” C Program to Find the Second Smallest Element Without Sorting

#include<stdio.h>

int main()
{
    int num, a[100];
    printf("Enter the size of the array:\n");
    scanf("%d", &num);

    if (num < 2)
    {
        printf("Invalid input! At least two elements are required to find the second smallest element.\n");
        return 1;
    }

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

    int first, second;

    // Initialize first and second with the first two elements
    if (a[0] < a[1])
    {
        first = a[0];
        second = a[1];
    }
    else
    {
        first = a[1];
        second = a[0];
    }

    for (int i = 2; i < num; i++)
    {
        if (a[i] < first)
        {
            second = first;
            first = a[i];
        }
        else if (a[i] < second && a[i] != first)
        {
            second = a[i];
        }
    }

    if (first == second)
    {
        printf("All elements are equal.\n");
    }
    else
    {
        printf("The second smallest element in the array is %d\n", second);
    }

    return 0;
}
  

๐Ÿ“ Explanation:

This program finds the second smallest element without sorting the array. It maintains two variables, first and second, to track the smallest and second smallest values while iterating through the array.

๐Ÿ’ก Sample Output:

Enter the size of the array:
6
Enter 6 elements:
4 2 8 5 1 3
The second smallest element in the array is 2
  

๐Ÿ” Keywords:

Second smallest number in array C, no sorting, min value tracking, C array programs, interview coding logic

Comments

Popular Posts

๐ŸŒ™