How to Remove Duplicates in an Array in C - Step by Step Examples
How to Remove Duplicates in an Array in C ?
Answer
To remove duplicates from an array in C, you can use loops with a temporary array or a flag array to filter out duplicate elements.
✐ Examples
1 Remove Duplicates using Temporary Array
In this example,
- We create an array named `numbers` with duplicate integers.
- We use a loop to check for duplicates and store unique elements in a temporary array.
- Finally, we get an array without duplicates using the temporary array.
C Program
#include <stdio.h>
int main() {
int numbers[] = {1, 2, 2, 3, 4, 4, 5};
int n = sizeof(numbers) / sizeof(numbers[0]);
int temp[n];
int j = 0;
for (int i = 0; i < n; i++) {
int duplicate = 0;
for (int k = 0; k < j; k++) {
if (numbers[i] == temp[k]) {
duplicate = 1;
break;
}
}
if (!duplicate) {
temp[j++] = numbers[i];
}
}
printf("Array without duplicates: ");
for (int i = 0; i < j; i++) {
printf("%d ", temp[i]);
}
return 0;
}
Output
Array without duplicates: 1 2 3 4 5
2 Remove Duplicates using Flag Array
In this example,
- We create an array named `numbers` with duplicate integers.
- We use a flag array to mark duplicate elements and filter out unique elements.
- Finally, we get an array without duplicates using the flag array.
C Program
#include <stdio.h>
int main() {
int numbers[] = {1, 2, 2, 3, 4, 4, 5};
int n = sizeof(numbers) / sizeof(numbers[0]);
int visited[n];
for (int i = 0; i < n; i++) {
visited[i] = 0;
}
printf("Array without duplicates: ");
for (int i = 0; i < n; i++) {
if (!visited[i]) {
printf("%d ", numbers[i]);
for (int j = i + 1; j < n; j++) {
if (numbers[i] == numbers[j]) {
visited[j] = 1;
}
}
}
}
return 0;
}
Output
Array without duplicates: 1 2 3 4 5
Summary
In this tutorial, we learned How to Remove Duplicates in an Array in C language with well detailed examples.
More C Arrays Tutorials
- How to Declare an Array in C ?
- How to Initialize an Array in C ?
- How to Access Array Elements in C ?
- How to Access Array Elements using Index in C ?
- How to get First Element in Array in C ?
- How to get Last Element in Array in C ?
- How to check if an Array is Empty in C ?
- How to check if an Array is Not Empty in C ?
- How to get Sub Array in C ?
- How to Get Array Length in C ?
- How to Iterate Over an Array in C ?
- How to Iterate Over an Array in Reverse Order in C ?
- How to get the Index of Specified Element in an Array in C ?
- How to check if Specified Element is present in the Array in C ?
- How to count the Number of Occurrences of Specified Element in the Array in C ?
- How to Sort an Array in C ?
- How to Sort an Array in Ascending Order in C ?
- How to Sort an Array in Descending Order in C ?
- How to create a Two Dimensional Array in C ?
- How to Iterate over a Two Dimensional Array in C ?
- How to create a Three Dimensional Array in C ?
- How to Copy an Array in C ?
- How to Split an Array in C ?
- How to Join Arrays in C ?
- How to check if Two Arrays are Equal in C ?
- How to check if Two Arrays have Same Elements (Regardless of Order) in C ?
- How to Convert an Array of Integers to an Array of Strings in C ?
- How to Convert an Array of Strings to an Array of Integers in C ?
- How to Reverse an Array in C ?
- How to Shuffle an Array in C ?
- How to Rotate Elements in an Array in C ?
- How to Filter Elements of an Array based on a Condition in C ?
- How to Declare an Integer Array in C ?
- How to Declare a Float Array in C ?
- How to Declare a String Array in C ?
- How to Remove Duplicates in an Array in C ?
- How to Remove Specific Element from an Array in C ?
- How to Remove Element from Array based on a Condition in C ?
- How to Sort a String Array in Dictionary Order in C ?
- How to Concatenate Strings in Array in C ?