Here you will get C and C++ program to remove duplicate elements from array.
For example:
Given Array: 5 8 9 5 12 9
New Array: 5 8 9 12
Given Array: 5 8 9 5 12 9
New Array: 5 8 9 12
In this program I have compared each element with all other elements. If the element is equal to any other element in the array then shift all the elements to left by one place. The process is repeated till all the elements are compared.
C/C++ Program to Remove Duplicate Elements From Array
C Program
#include<stdio.h> int main() { int i,j,k,n,a[30]; printf("How many elements?"); scanf("%d",&n); printf("\nEnter elements of array\n"); for(i=0;i<n;++i) scanf("%d",&a[i]); for(i=0;i<n;++i) for(j=i+1;j<n;) { if(a[i]==a[j]) { for(k=j;k<n-1;++k) a[k]=a[k+1]; --n; } else ++j; } printf("\n"); for(i=0;i<n;++i) printf("%d ",a[i]); return 0; }
C++ Program
#include<iostream> using namespace std; int main() { int i,j,k,n,a[30]; cout<<"How many elements?"; cin>>n; cout<<"\nEnter elements of array\n"; for(i=0;i<n;++i) cin>>a[i]; for(i=0;i<n;++i) for(j=i+1;j<n;) { if(a[i]==a[j]) { for(k=j;k<n-1;++k) a[k]=a[k+1]; --n; } else ++j; } cout<<"\n"; for(i=0;i<n;++i) cout<<a[i]<<" "; return 0; }
Output
How many elements?5
Enter elements of array
12 4 6 4 2
12 4 6 2
Another solution:
#include
#include
int Check(std::vector &array, int num){
int flag = 1;
for (int i = 0; i < array.size(); i++){
if (num == array[i]){
flag = 0;
break;
}
}
return flag;
}
void PrintArray(std::vector &array){
for (int i = 0; i < array.size(); i++)
std::cout << array[i] << " ";
}
void RemoveDuplicates(std::vector &array){
std::vector array_no_duplictaes;
array_no_duplictaes.push_back(array[0]);
for (int i = 1; i < array.size(); i++){
if (Check(array_no_duplictaes, array[i]))
array_no_duplictaes.push_back(array[i]);
}
PrintArray(array_no_duplictaes);
}
int main(){
int num;
std::vector array;
std::cout <> num;
if (num != -999)
array.push_back(num);
}
RemoveDuplicates(array);
std::cout << std::endl;
return 0;
}
can you please tell me the time complexity of this program??
check this out!
#include
int main()
{
int i,j,k,n,a[30],count=0;
printf(“How many elements?”);
scanf(“%d”,&n);
printf(“\nEnter elements of array\n”);
for(i=0;i<n;++i)
scanf("%d",&a[i]);
for(i=0;i<n;++i)
{
k=i;
for(j=i+1;j<n;j++)
{
if(a[i]!=a[j])
{
k++;
a[k]=a[j];
}
else
count++;
}
n=n-count;
count=0;
}
printf("\n");
for(i=0;i<n;++i)
printf("%d ",a[i]);
return 0;
}