यूनियन C प्रोग्रामिंग भाषा में उपलब्ध एक विशेष डेटा प्रकार है जो एक ही मेमोरी लोकेशन में विभिन्न डेटा प्रकारों को स्टोर करने की अनुमति देता है। यूनियन एक ही मेमोरी लोकेशन को कई उद्देश्यों के लिए उपयोग करने का एक कुशल तरीका प्रदान करते हैं।
यूनियन ऑपरेशन
यदि सरणी 1 = { 1,2,3,4,6}
सरणी 2 = {1,2,5,6,7}
तब, सरणी1 और सरणी 2 का यूनियन है
Array1 U array 2 = {1,2,3,4,6} U {1,2,5,6,7}
= {1,2,3,4,5,6,7}
बिना दोहराव के सभी तत्वों का सेट यूनियन कहलाता है।
यूनियन के लिए तर्क निम्नानुसार है:
for(i = 0; i < size1; i++){
uni[j] = a[i];
j++;
}
for(i = 0; i < size2; i++){
uni[j] = b[i];
j++;
}
दोहराए गए तत्वों को हटाने के लिए तर्क निम्नानुसार है:
int removerepeated(int size, int a[]){
int i, j, k;
for(i = 0; i < size; i++){
for(j = i+1; j < size; ){
if(a[i] == a[j]){
for(k = j; k < size; k++){
a[k] = a[k+1];
}
size--;
}else{
j++;
}
}
}
return(size);
}
प्रोग्राम
निम्नलिखित C प्रोग्राम दो सरणियों पर यूनियन ऑपरेशन करता है:
#include <stdio.h>
int removerepeated(int size, int a[]);
void sort(int size, int a[]);
main(){
int i, size1, size2, size, j = 0, k;
printf("Enter size of an array1\n");
scanf("%d", &size1);
printf("Enter size of an array2\n");
scanf("%d", &size2);
int a[size1], b[size2], uni[size1+size2];
printf("Enter numbers for array 1\n");
for(i = 0; i < size1; i++){
scanf("%d", &a[i]);
}
printf("Enter numbers for array 2\n");
for(i = 0; i < size2; i++){
scanf("%d", &b[i]);
}
// union start
for(i = 0; i < size1; i++){
uni[j] = a[i];
j++;
}
for(i = 0; i < size2; i++){
uni[j] = b[i];
j++;
}
// Sorting
sort(size1+size2, uni);
// Remove repeated elements
size = removerepeated(size1+size2, uni);
printf("Array after Union \n");
for(i = 0; i < size; i++){
printf("%d\n", uni[i]);
}
}
int removerepeated(int size, int a[]){
int i, j, k;
for(i = 0; i < size; i++){
for(j = i+1; j < size; ){
if(a[i] == a[j]){
for(k = j; k < size; k++){
a[k] = a[k+1];
}
size--;
}else{
j++;
}
}
}
return(size);
}
void sort(int size, int a[]){
int i, j, temp;
for(i = 0; i < size; i++){
for(j = i+1; j < size; j++){
if(a[i] > a[j]){
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
आउटपुट
Enter size of an array1 4 Enter size of an array2 3 Enter numbers for array 1 1 2 3 4 Enter numbers for array 2 3 5 6 Array after Union 1 2 3 4 5 6