एक संघ एक विशेष डेटा प्रकार है जो सी प्रोग्रामिंग भाषा में उपलब्ध है जो विभिन्न डेटा प्रकारों को एक ही मेमोरी लोकेशन में स्टोर करने की अनुमति देता है। यूनियन बहुउद्देश्यीय के लिए एक ही स्मृति स्थान का उपयोग करने का एक कुशल तरीका प्रदान करते हैं।
संघ संचालन
अगर सरणी 1 ={ 1,2,3,4,6}
ऐरे 2 ={1,2,5,6,7}
फिर, array1 और array 2 का मिलन है
Array1 U सरणी 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); }
कार्यक्रम
दो सरणियों पर संघ संचालन करने के लिए सी कार्यक्रम निम्नलिखित है -
#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 afetr Union \n"); for(i=0;i<size;i++){ printf("%d\n",uni[i]); } //Sorting } 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