c++中vector的pair与make_pair的使用,双关键字排序
2015-06-06 12:02
633 查看
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
bool strict_weak_ordering(const pair<int,string> a, const pair<int,string> b)
{
return a.first > b.first;
}
//通过运算符重载,利用sort函数实现降序排列
int main()
{
vector<pair<int, string> > vec;
//为了避免与>>运算符混淆,所以这里中间要有个空格
vec.push_back(make_pair<int, string>(5, "bingo"));
vec.push_back(make_pair<int, string>(4, "bing"));
vec.push_back(make_pair<int, string>(6, "acbingo"));
vec.push_back(make_pair<int, string>(6, "ACBingo"));
vec[3].first++;
sort(vec.begin(), vec.end(), strict_weak_ordering);
//使用迭代器
vector<pair<int, string> >::iterator it = vec.begin(), end = vec.end();
for (;it!=end;++it) cout<<it->first<<endl;
//模拟正常数组
for (int i=0;i<vec.size();i++) cout<<vec[i].second<<endl;
return 0;
}
#include <iostream>
#include <algorithm>
using namespace std;
bool strict_weak_ordering(const pair<int,string> a, const pair<int,string> b)
{
return a.first > b.first;
}
//通过运算符重载,利用sort函数实现降序排列
int main()
{
vector<pair<int, string> > vec;
//为了避免与>>运算符混淆,所以这里中间要有个空格
vec.push_back(make_pair<int, string>(5, "bingo"));
vec.push_back(make_pair<int, string>(4, "bing"));
vec.push_back(make_pair<int, string>(6, "acbingo"));
vec.push_back(make_pair<int, string>(6, "ACBingo"));
vec[3].first++;
sort(vec.begin(), vec.end(), strict_weak_ordering);
//使用迭代器
vector<pair<int, string> >::iterator it = vec.begin(), end = vec.end();
for (;it!=end;++it) cout<<it->first<<endl;
//模拟正常数组
for (int i=0;i<vec.size();i++) cout<<vec[i].second<<endl;
return 0;
}
相关文章推荐
- 《爱编程,爱c++十一期-第三章-c++函数》
- 浅析C++中this指针
- C++ Time Delay
- IOS之C语言读取文本最长字符串
- DEV C++使用说明
- 一名C++程序员的成长之路
- C++中Static作用和使用方法
- 关于VC++中printf函数用法的一些记录
- c++中的左移、右移运算
- 修改Visual Studio Express 2012新建C++文件编码
- 一起talk C栗子吧(第七回:C语言实例--进制转换)
- 堆栈以及程序变量的存储
- C语言之实际问题——指针赋值
- c语言之sizeof函数
- C++ hex和oct
- 【Palindrome Number】cpp
- PAT 1004 To Fill or Not to Fill (25)
- PAT 1003 Sharing (25)
- PAT 1002 Hello World for U (20)
- c#/c++什么是接口-接口和抽象类