Find Repeating Elements in an Array Efficiently

Find Repeating Elements in an Array Efficiently

Find Repeating Elements in an Array Efficiently

Finding duplicate elements in an array is a common programming task. This article explains a simple approach using two nested loops to identify all repeating elements in an array.


Algorithm to Identify Duplicate Elements

Steps

  1. Declare the Array: Define the array and input its elements.
  2. Traverse the Array: Use a loop to iterate through the elements.
  3. Compare Elements: For each element, use a nested loop to check if it has already been encountered.
  4. Identify Repeats: If an element is found to repeat, print it and move to the next iteration.
  5. Continue Traversal: If no duplicate is found for the current element, move to the next.

Algorithm (Detailed)

  1. Input the array and its size.
  2. Start a loop from the first to the last element:
    • For each element, start a second loop to compare it with all previous elements.
    • If a match is found, print the element as a duplicate.
  3. End the loops and output all duplicates.

C and C++ Code Examples

C Program

#include <stdio.h>

void findDuplicates(int arr[], int n) {
    printf("Repeating elements are:\n");
    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            if (arr[i] == arr[j]) {
                printf("%d\n", arr[i]);
                break;
            }
        }
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 2, 3, 5};
    int n = sizeof(arr) / sizeof(arr[0]);

    findDuplicates(arr, n);
    return 0;
}

Output

Input: [1, 2, 3, 4, 2, 3, 5]
Output:

Repeating elements are:
2
3

C++ Program

#include <iostream>
using namespace std;

void findDuplicates(int arr[], int n) {
    cout << "Repeating elements are:\n";
    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            if (arr[i] == arr[j]) {
                cout << arr[i] << endl;
                break;
            }
        }
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 2, 3, 5};
    int n = sizeof(arr) / sizeof(arr[0]);

    findDuplicates(arr, n);
    return 0;
}

Output

Input: [1, 2, 3, 4, 2, 3, 5]
Output:

Repeating elements are:
2
3

Related Topics and Recommended Programs

  1. Count Distinct Elements in an Array
  2. Identify Non-Repeating Elements in an Array
  3. Remove Duplicate Elements from an Array
  4. Find the First Repeating Element in an Array

By mastering this basic approach, you can further explore more optimized methods like hashing or sorting to handle larger datasets efficiently. Experiment with the code examples and modify the inputs to deepen your understanding.