我需要创建两个集合的联合数组,以 C 数组的形式给出。这就是我到目前为止所拥有的。我认为我的 if 条件是正确的,但输出只打印出一组该数组。你能指出我做错了什么吗?
#include "union_intersection.h"
#include <iostream>
using namespace std;
template <typename T>
void Union(T* left, int left_size,
T* right, int right_size,
T* result, int& result_size)
{
int i=0, j=0;
while (i< left_size && j <right_size){
if (left < right)
{
result = left;
cout<< *result<< "\t";
i++;
left++;
result_size++;
}
else if (right<left)
{
result =right;
cout<< *result << "\t";
j++;
right++;
result_size++;
}
else
{
result =left;
cout<< *result <<"\t";
i++; j++;
left++;
right++;
result_size++;
}
}
}