文章

36

粉丝

505

获赞

55

访问

370.6k

头像
题解:二元组整数
推荐阅读
P1024 贵州大学机试题
发布于2021年10月4日 17:23
阅读数 8.1k

 本段代码使用了STL的pair类型和set容器

pair类型:

头文件<algorithm>或者<utility>

作用是将两个变量捆绑在一起当做一个变量

定义:pair <元素类型1,元素类型2> 名称;如 pair <int,int> p;

分别取出第一个和第二个元素:p.first ,p.second//注意没用括号

pair可以比较大小,默认是比较first的大小,如果first相等再比较second的大小

 

set容器:

头文件<set>

集合中没有重复元素,如果集合中已经有了某元素,再插入时会自动去重。set还有一个性质就是元素默认从小到大排序

定义:set<元素类型> 名称;如 set<int> s;

插入元素:s.insert(x);

遍历:for (set <类型>::iterator i = s.begin(); i != s.end(); i++) //i为迭代器,*i为指向的元素

 

这里只介绍这么多,关于pair和set的更多用法请去百度

#include <iostream>
#include<algorithm>
#include<set>
using namespace std;
int n, a[35];
int main()
{
	cin >> n;
	for (int i = 1; i <= n; i++)
		cin >> a[i];
	set<pair<int, int> > s;//一个储存pair类型的集合s,pair类型捆绑两个整数

	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= n; j++)
			if (i != j)s.insert({ a[i],a[j] });//插入即去重

	for (auto i = s.begin(); i != s.end(); i++)//set自动从小到大...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发