代码拉取完成,页面将自动刷新
#ifndef SEQ_LIST_ALGORITHM_HPP
#define SEQ_LIST_ALGORITHM_HPP
#include "seq_list.hpp"
// 求并集
// 结果存放在seq_list_a中
template <typename TData>
void seqListUnion(SeqList<TData>& seq_list_a, SeqList<TData>& seq_list_b)
{
int a_length = seq_list_a.length();
int b_length = seq_list_b.length();
for (int i = 1; i <= b_length; i++)
{
TData list_b_item;
seq_list_b.getData(i,list_b_item);
int pos = seq_list_a.search(list_b_item);
if (pos == 0) // a中没有b
{
bool res = seq_list_a.insert(a_length,list_b_item);
if (!res)
cout << "请给seq_list_a扩容" << endl;
else
a_length++;
}
}
}
// 求交集
// 结果存放在seq_list_a中
template <typename TData>
void seqListInterSection(SeqList<TData>& seq_list_a,SeqList<TData>& seq_list_b)
{
int a_length = seq_list_a.length();
int iter_pos = 1;
while (iter_pos <= a_length)
{
TData list_a_item;
seq_list_a.getData(iter_pos, list_a_item);
int pos = seq_list_b.search(list_a_item);
if (pos == 0)
{
seq_list_a.remove(iter_pos,list_a_item);
a_length--;
}
else
{
iter_pos++;
}
}
}
#endif // !SEQ_LIST_ALGORITHM_HPP
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。