假设以两个元素依次递增有序排序排列的线性表 A 和 B 分别表示两个集合(即同一表中的元素值各不相同),现要求另辟空间构成一个线性表 C,其元素为 A 和 BB 中的元素的交集,且表 C 中的元素也依值递增有序排列。输入格式 输入一共有 4 行,每两行描述一个线性表。 第一行为线性表长度 n(0 \leq n_i < 500≤n i <50)。 第二行为线性表的 n 个元素 a_ia i (0 \leq a_i < 2000≤a i <200)。 输出格式 输出一共有两行,第一行为线性表 C 的元素个数。 第二行为线性表 C 的元素顺序输出的结果,按从小到大的顺序输出,每两个整数之间一个空格,最后一个整数后面没有空格。C++实现
样例输入
5
1 2 3 4 5
4
1 2 3 4
样例输出
4
1 2 3 4
#include<iostream>
using namespace std;
template <class T>
struct chainNode
{
T element;
chainNode<T>* next;
chainNode() {
}
chainNode(const T& element)
{
this->element = element;
}
chainNode(const T& element, chainNode<T>* next)
{
this->element = element;
this->next = next;
}
};
template<class T>
class chain
{
public:
chainNode<T>* firstNode;
int listSize;
chain(int initialCapacity = 10)