查找在A集合但不在B集合中的元素

// find.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdlib.h>
#include <vector>
#include <string>
#include <map>
#pragma warning(disable:4786)
#include <iostream>

using namespace std;

std::vector<std::string> VecA, VecB;

void creatVector(string str, std::vector<std::string>& vectorObj)
{
 vectorObj.push_back(str);
}

void findInAButB(std::vector<std::string> VecA,
     std::vector<std::string> VecB,
     std::vector<std::string>& resultVect)
{
 if ( !(VecA.size() > 0) || !(VecB.size() > 0))
 {
  return;
 }

 std::vector<std::string>::const_iterator itA, itB;
 for (itA = VecA.begin(); itA != VecA.end(); itA++)
 {
  for (itB = VecB.begin(); itB != VecB.end(); itB++)
  {
   if (!(*itA).compare(*itB))
   {
    break;
   }
  }
//   if (VecB.end() != itB)
//   {
//    continue;
//   }
//   else //
  if ( VecB.end() == itB)
  {
   resultVect.push_back(*itA);
  }
 }
}

int _tmain(int argc, _TCHAR* argv[])
{
 VecA.clear();
 cout<<"请输入VecA,以空格回车结束:"<<endl;
 for (;;)
 {
  string str;
  getline(cin, str);
  if (str.empty())
  {
   cout<<"VecA输入结束."<<endl;
   break;
  }
  creatVector(str,VecA);
 }

 VecB.clear();
 cout<<"请输入VecB,以空格回车结束:"<<endl;
 while(1)
 {
  string str;
  getline(cin, str);
  if (str.empty())
  {
   cout<<"VecB输入结束."<<endl;
   break;
  }
  creatVector(str,VecB);
 }

 cout<<"下面查出在VecA中但不在VecB的元素集."<<endl;
 std::vector<std::string> resultVectA;
 findInAButB(VecA, VecB, resultVectA);
 std::vector<std::string>::const_iterator itorR;
 cout<<"输出查找到的结果"<<endl;
 for (itorR = resultVectA.begin(); itorR != resultVectA.end(); itorR++)
 {
  cout<< *itorR <<endl;
 }

 cout<<endl<<"下面查出在VecB中但不在VecA的元素集."<<endl;
 std::vector<std::string> resultVectB;
 findInAButB(VecB, VecA, resultVectB);
 std::vector<std::string>::const_iterator itorB;
 cout<<"输出查找到的结果"<<endl;
 for (itorB = resultVectB.begin(); itorB != resultVectB.end(); itorB++)
 {
  cout<< *itorB <<endl;
 }

 system("PAUSE");
 return 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,这是一个关于编程的问题,可以回答。您可以使用set.intersection()方法来查找两个集合的交集。例如: ```python set1 = {1, 2, 3, 4, 5} set2 = {3, 4, 5, 6, 7} common_elements = set1.intersection(set2) print(common_elements) ``` 输出为: ``` {3, 4, 5} ``` 这样就可以找到两个集合的相同元素了。 ### 回答2: 要在Python查找两个集合的相同元素,可以使用集合(set)的交集操作。 集合是一种无序且不重复的数据结构,可以用来存储元素集合。Python的set类型和数学上的集合概念类似,可以进行并集、交集、差集等操作。 首先,我们可以分别将两个集合A和B定义为set类型的变量,例如: A = {1, 2, 3, 4} B = {3, 4, 5, 6} 然后,可以使用交集操作符 & 来获取两个集合的交集,即相同的元素。代码如下: common_elements = A & B 最后,我们可以打印出交集的结果,代码如下: print(common_elements) 执行后,输出的结果为{3, 4},即集合A和集合B共有的元素。 交集操作是一种非常简洁和高效的方法来查找两个集合的相同元素。在实际应用,可以根据具体的需求和数据结构选择合适的操作方法。 ### 回答3: 要在Python查找两个集合的相同元素,可以使用集合的交集运算。集合是Python的一个内置数据类型,它没有顺序和重复元素。 假设我们有两个集合A和B,我们可以使用以下代码找到它们的相同元素: ``` A = {1, 2, 3, 4} B = {3, 4, 5, 6} common_elements = A.intersection(B) ``` 在上面的代码,`intersection()`是一种集合的交集操作。它将返回一个新的集合,其包含A和B共有的元素。在这个例子,`common_elements`将是集合{3, 4}。 我们还可以将代码稍作修改以适应更多的集合。例如,我们想要查找三个集合A、B和C的相同元素: ``` A = {1, 2, 3} B = {2, 3, 4} C = {3, 4, 5} common_elements = A.intersection(B, C) ``` 在这个例子,`common_elements`将是集合{3},因为只有元素3在A、B和C存在。 总结起来,要在Python查找两个或多个集合的相同元素,可以使用集合的交集操作`intersection()`。这将返回一个新的集合,其包含所有输入集合共有的元素

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值