set相关操作总结(待续)

Posted stephen-qin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了set相关操作总结(待续)相关的知识,希望对你有一定的参考价值。

//一些和vector,list类似的操作就没有总结

#include <set> #include <list> #include <iostream> using namespace std; void count_set(const set<int> &set1, const set<int> &set2, const set<int>& set3) { cout << "set1.size():" << set1.size() << ", set2.size():" << set2.size() << ", set3.size():" << set3.size() << endl; } //重载<< 使用场景对应"<< set4":"<<"对应ostream &os. ostream& operator<<(ostream &os, const set<int>& setInt) { for (set<int>::iterator itSet = setInt.begin(); itSet != setInt.end(); itSet++) { os << *itSet << " "; } return os; } int main() { //底层结构是红黑树. /////////一.基础 ///////////// //1.初始化和赋值 set<int> set1 = {1,2,3,4,5,5};////发现这里不带=也是可以的,就相当于是int a (3)这样的初始化. set<int> set2; set<int> set3; set2 = set1; set3 = move(set1); count_set(set1, set2, set3);//0, 5, 5 /////////五.查找 ///////////// //1.count(key):返回匹配特定键的个数 int nCount_0 = set3.count(0); cout << "0存在吗? " << boolalpha << bool(nCount_0) << endl; //false //2.find(key):返回key所对应的迭代器,如果没有则返回end()
有个cppreference上set的find的demo待理解后再整理.
//3.low_bound(key):返回首个不小于key的元素对应的迭代器. 也就是以key作为下界,找到set中刚好为key或者key右边的. //4.upper_bound(key): !!!这个是返回首个大于key的迭代器. 左闭右开的原则. [LB, UB) set<int> set4 = { 1,2,3,4,5,6,7,8}; set<int>::iterator itLB = set4.lower_bound(3); set<int>::iterator itUB = set4.upper_bound(6); cout << *itLB << " " << *itUB << endl; //3, 7 set4.erase(itLB, itUB); cout << set4 << endl; //1,2,7,8 //5.equal_range(key):返回一个pair对,first是low_bound对应的值,second是upper_bound对应的值. //6.key_compare()/value_compare():返回该容器比较对象的副本. return 0; } //可参考网站:1.https://zh.cppreference.com/w/cpp/ //2.http://www.cplusplus.com/reference/

 

以上是关于set相关操作总结(待续)的主要内容,如果未能解决你的问题,请参考以下文章

接口继承与多态 总结(未完待续)

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

代码片段 - Golang 实现集合操作

Python之路第一课Day9--随堂笔记之一(堡垒机实例以及数据库操作)未完待续....

Java/计算机网络/操作系统面试题总结(未完待续)

Java/计算机网络/操作系统面试题总结(未完待续)