美文网首页
C++关联容器set

C++关联容器set

作者: VGSemir | 来源:发表于2019-02-15 16:28 被阅读0次

顺序容器包括vector、deque、list、forward_list、array、string,所有顺序容器都提供了快速顺序访问元素的能力。

关联容器包括set、map

关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的。与之相对,顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的。

set内部采用红黑树作为数据结构

set具备以下特点
·set中的元素都是排序好的
·set中的元素都是唯一的,没有重复的

常见方法
begin(); // 返回指向第一个元素的迭代器
end(); // 返回指向最后一个元素的迭代器
clear(); // 清除所有元素
count(); // 返回某个值元素的个数

find(); //返回一个指向被查找到元素的迭代器
insert(); //在集合中插入元素

demo (PTA L1-020)

#include <iostream>
#include <set>

using namespace std;

int main() {
    ifstream infile;
    infile.open("input1.txt");
    
    int loopnum, friendnum;
    string str;
    set<string> friends, out;

    infile >> loopnum;
    for (int i = 0; i < loopnum; i++) {
        infile >> friendnum;
        if (friendnum < 2) {
            infile >> str;
        }
        else {
            for (int j = 0; j < friendnum; j++) {
                infile >> str;
                friends.insert(str);
            }
        }
    }

    int num_search, flag = 0;
    infile >> num_search;
    for (int i = 0; i < num_search; i++) {
        infile >> str;
        if (friends.find(str) == friends.end() && out.find(str) == out.end()) {
            out.insert(str);
            if (flag > 0)
                cout << " ";
            cout << str;
            flag = 1;
        }
    }
    if (flag > 0)
        cout << endl;
    else {
        cout << "No one is handsome" << endl;
    }

    infile.close();
    return 0;
}

相关文章

  • C++关联容器set

    顺序容器包括vector、deque、list、forward_list、array、string,所有顺序容器都...

  • C++ 容器梳理

    C++ 容器包括 顺序存储结构:vector list dequeue关联存储结构:set map multise...

  • C++大厂面试真题

    C++标准库的map和set有什么区别,如何实现的? map和set都是C++的关联容器,其底层实现都是红黑树。 ...

  • BAT面试 STL常见面试题

    请你来说一下map和set有什么区别,分别又是怎么实现的?参考回答:map和set都是C++的关联容器,其底层实现...

  • STL容器set基础使用

    STL容器之set 一、什么是set? set关联式容器。 set作为一个容器也是用来存储同一数据类型的数据类型,...

  • C++常用容器

    C++ 有两类常用容器,分别是顺序容器和关联容器,顺序容器例如vector,list,queue,关联容器例如ma...

  • 414. Third Maximum Number

    此题主要是C++中set的使用。set关联式容器: 实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调...

  • STL与泛型编程第二周笔记 GeekBand

    1.关联容器map与set 关联容器(Associative containers)支持通过键来高效地查找和读取元...

  • C++ 关联容器

    11.1关联容器概述 关联容器有map和set两大类,map是关键字和值得映射,set是关键字的简单集合,它们分别...

  • 第11章 关联容器

    关联容器分类:set还是map、关键字是否重复、关键字是否有序。 11.1 使用关联容器 map类型通常被称为关联...

网友评论

      本文标题:C++关联容器set

      本文链接:https://www.haomeiwen.com/subject/hbkmeqtx.html