比较两个set是否相等?(C++)

标签: C++
4人阅读 评论(0) 收藏 举报
分类:

假设有两个set如下:

#include <iostream>
#include <vector>
#include <set>
#include <map>
using namespace std;


set<string> setTemp;
set<string> setTemp1;

setTemp.insert("nihao1");
setTemp.insert("nihao2");
setTemp.insert("nihao3");
setTemp.insert("nihao4");

setTemp1.insert("nihao1");
setTemp1.insert("nihao2");
setTemp1.insert("nihao3");
setTemp1.insert("nihao4");

比较二者是否相等,可能有如下两种方法

1,直接比较:

if (setTemp.size() != setTemp1.size()){
    cout << "is not equal.." << endl;
    return;
}
set<string>::iterator it;
set<string>::iterator it1;
//遍历集合中的所有元素 
bool flag = true;
for (it = setTemp.begin(), it1 = setTemp1.begin(); it != setTemp.end(); it++, it1++){
    if (*it1 != *it){
        flag = false;
        break;
    }
}
if (flag == true)
    cout << "has found! "<< endl;

2,借助map比较:

map<set<string>, string> mTemp;
mTemp[setTemp] = "1";

if (mTemp.find(setTemp1) != mTemp.end()){
    cout << "has found!" << endl;
}
查看评论

关于Set的非重复判断以及“==”和“equals”的区别

面试时经常被问到set里面是如何判断元素是否重复的,今天特意看了下HashSet的contains源码。。     private transient HashMap map;     p...
  • CYZERO
  • CYZERO
  • 2012年02月15日 15:45
  • 3548

java比较两个Set是否相等的方法。

说明:使用了Set的equals()方法: package Util; import java.util.HashSet; import java.util.Scanner; impo...
  • suyu_yuan
  • suyu_yuan
  • 2016年09月30日 09:25
  • 3150

java怎么判断两个Set 里的对象的值是否相同【两个set中的值是否相等】、java treeset和hashset如何判断元素是否相同【即对象是否完全相同;利用一个set去除重复元素】

文章来源:http://blog.csdn.net/lxqluo/article/details/31394393 Set里的元素是不能重复的,那么用iterator()方法来区分重复与否 publ...
  • buster2014
  • buster2014
  • 2015年01月19日 15:03
  • 5005

List、Set、Map判断两个对象相等的标准

List 通过equals()方法比较返回true即可 HashSet 先比较两个对象hashCode()方法返回的值是否相等,如果不相等就认为两个对象是不相等的,如果两个对象的hashCode相...
  • totally123
  • totally123
  • 2016年08月09日 14:05
  • 2648

【C++】判断两个vector是否相等~直接用“==”

如果vector里面的元素类型是简单类型(内置类型),可以直接使用“==”或者“!=”进行比较 因为在STL里面,==和!=是可以直接使用的: template< class T, class All...
  • liuchuo
  • liuchuo
  • 2016年09月09日 13:24
  • 5089

c++如何判断两个浮点数相等或者大小问题

SAP的面试题之一: 如何判断两个浮点数的大小: 例1: a=1.000001 b=1.0两个数,一般情况下会认为两者相等。一般我们会认为写出代码: #include "stdafx.h" #i...
  • xiao_Mrs_li
  • xiao_Mrs_li
  • 2017年11月29日 18:47
  • 1161

判断两个结构体相等

好文得转!
  • Scythe666
  • Scythe666
  • 2014年09月22日 20:10
  • 2938

比较输入的两个字符串是否相等(c++ 11)

在c++ 11 中可以通过auto来推断string对象长度的实际类型。 size函数返回string对象的长度(即string对象中字符的个数),这样看来size函数的函数类型是unsigned类...
  • u014571231
  • u014571231
  • 2016年03月04日 11:15
  • 3636

怎么判断两个cstring变量是否相等?

你可以用: if (!str1.CompareNoCase(str2)) { //相等 } else { //不相等 }
  • rayna00
  • rayna00
  • 2016年07月06日 20:36
  • 2301

c++测试两个vector是否相等

#include #include #include using namespace std; int main(){ vector vec_1(4,10); vector vec_2...
  • amber2012
  • amber2012
  • 2013年05月20日 13:35
  • 3388
    个人资料
    持之以恒
    等级:
    访问量: 1万+
    积分: 599
    排名: 8万+
    最新评论