两个等长有序数组并集c语言
时间: 2023-12-01 18:09:39 浏览: 39
#include<stdio.h>
void union_arrays(int arr1[], int arr2[], int n1, int n2){
int i=0, j=0;
while(i<n1 && j<n2){
if(arr1[i]<arr2[j]) {
printf("%d ", arr1[i]);
i++;
}
else if(arr1[i]>arr2[j]) {
printf("%d ", arr2[j]);
j++;
}
else {
printf("%d ", arr1[i]);
i++;
j++;
}
}
while(i<n1){
printf("%d ", arr1[i]);
i++;
}
while(j<n2){
printf("%d ", arr2[j]);
j++;
}
}
int main(){
int arr1[] = {1, 2, 3, 5, 7};
int arr2[] = {2, 4, 6, 7, 8, 10};
int n1 = sizeof(arr1)/sizeof(arr1[0]);
int n2 = sizeof(arr2)/sizeof(arr2[0]);
union_arrays(arr1, arr2, n1, n2);
return 0;
}