1、比如一些电话号码比较,如果文件比较大考虑插桩!
2、时间段重叠运算。
3、数据变化处理。
#include "stdafx.h"
#include <set>
#include <string>
#include <algorithm>
#include <iostream>
using namespace std;
struct compare
{
bool operator ()(string s1,string s2)
{
return s1 > s2;
}///自定义一个仿函数
};
int main()
{
typedef std::set<string,compare> _SET;
_SET s;
s.insert(string("sfdsfd"));
s.insert(string("apple"));
s.insert(string("english"));
s.insert(string("dstd"));
cout<<"s1:"<<endl;
std::set<string,compare>::iterator it = s.begin();
while(it!=s.end())
cout<<*it++<<" ";
cout<<endl<<"s2:"<<endl;
_SET s2;
s2.insert(string("abc"));
s2.insert(string("apple"));
s2.insert(string("english"));
it = s2.begin();
while(it!=s2.end())
cout<<*it++<<" ";
cout<<endl<<endl;
string str[10];
string *end = set_intersection(s.begin(),s.end(),s2.begin(),s2.end(),str,compare());
cout<<"result of set_intersection s1 <> s2:"<<endl;
string *first = str;
while(first<end)
cout <<*first++<<" ";
cout <<endl;
}
分享到:
相关推荐
std::set的应用场景: * 数学计算:std::set可以用于数学计算中,例如计算集合的交、并、差等操作。 * 数据处理:std::set可以用于数据处理中,例如对数据进行排序、去重等操作。 * 算法实现:std::set可以用于算法...
在C++标准库中,`std::list`是一种双链表容器,它提供了一种高效的方式来存储和操作序列数据。由于`std::list`不是随机访问容器,因此它不支持像数组那样的通过索引直接访问元素(如`[]`运算符)。但是,`std::list`...
c++11引入了std::bind及std::function,实现了函数的存储和绑定,即先将可调用的对象保存起来,在需要的时候再调用。定义了SignalObject信号类和SlotObject槽类,其中信号类中的 std::function(int)> _call就是要...
在C++编程中,`std::string`是一个非常重要的数据类型,用于处理字符串。而`format`函数通常指的是用于格式化输出的工具,类似于C语言中的`printf`或C++的`std::stringstream`。本项目提供的`std::string format`...
std::map<std::string, std::string> mapData = json.parseJson(jsonString); // 现在可以访问mapData中的数据 std::cout << "Name: " ["name"] << std::endl; std::cout << "Age: " ["age"] << std::endl; ...
代码重点是hash_table,附加std::map与其做对比,实现的是一条sql语句:select c_nationkey, c_mktsegment, count(*), max(c_acctbal) from aaa_customer_1g group by c_nationkey, c_mktsegment order by c_...
当应用于`std::vector`时,它可以有效地对向量的元素进行升序或降序排列。默认情况下,`std::sort`按照元素的自然顺序进行排序,即对于整型或浮点型,它是从小到大;对于自定义类型,它依赖于元素的`运算符。 然而...
std::string、char*、const char*转托管byte数组或托管字符串String std::string、char*、const char*是C++中三个不同的字符串表示方式,它们都可以转换为托管的byte数组或字符串String,但是在C++/CLI中,它们的...
使用C++类模板实现的std::vector容器。 对于学习动态数组有很大的帮助。
2. **设置值**: 你可以使用 `set_value()` 函数将一个值存储到 `std::promise` 的共享状态中。一旦值被设置,与之关联的 `std::future` 就可以获取这个值。如果值已经被设置,再次调用 `set_value()` 会导致未定义...
`std::move`和`std::forward`是C++11引入的高效资源管理工具,用于提升性能,特别是处理移动语义和转发引用。现在,我们将详细探讨这些知识点。 首先,`cmake`是一个开源的,跨平台的自动化构建系统,用来管理项目...
### 使用C++中的文件流(std::ifstream 和 std::ofstream)进行文本文件操作 #### 一、概述 在C++编程语言中,处理文件输入输出是常见需求之一。`std::ifstream` 和 `std::ofstream` 是标准库提供的类模板,它们...
linux 下 std::list的使用
在C++中,我们可以使用内置的`std::set_intersection`函数来找到两个集合的交集。这个函数位于 `<algorithm>` 头文件中,它接受四个参数:两个输入迭代器指向第一个集合的起始和结束位置,以及两个输出迭代器,表示...
在C++标准库中,`std::thread`是用于实现多线程编程的关键组件。它允许程序员在同一程序中创建并运行多个并发执行的线程。`std::thread`的使用通常涉及以下几个方面: 1. **线程创建**:创建一个新线程最简单的方式...
`std::deque`(双端队列)作为C++标准模板库(STL)中的一个重要容器,因其独特的优势而在某些应用场景下优于其他容器如`std::vector`。本文将对`std::deque`进行深入剖析,探讨其内存管理和性能特性,并通过对比`std:...
本文将详细介绍如何使用C++语言将Windows字符串资源加载到`std::string`或`std::wstring`中,以便在程序中使用。 首先,了解`std::string`和`std::wstring`。`std::string`是C++标准库中的一个类模板,用于处理...
这篇文主要关注三个核心概念:lambda表达式、std::function和std::bind。 **Lambda表达式**是C++11引入的一种内联匿名函数,它允许我们在需要的地方直接定义函数对象,而无需单独声明一个函数。Lambda表达式的语法...
std::async提供了灵活的线程创建策略,并且返回一个std::future对象,使得获取线程函数的结果变得简单。 1. std::async函数原型: std::async有两个重载形式,主要区别在于是否指定了执行策略。第一个版本默认使用...