C++ pair函数和sort函数学习
2017-06-14 10:26
288 查看
C++ pair函数和sort函数学习
(2014-12-02 16:48:12) http://blog.sina.com.cn/s/blog_8851871e0102v7hg.html转载▼
标签:it |
Pair类型概述
pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下:
pair a;
表示a中有两个类型,第一个元素是int型的,第二个元素是string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。
pair a("James", "Joy");
也可以像上面一样在定义的时候直接对其初始化。
由于pair类型的使用比较繁琐,因为如果要定义多个形同的pair类型的时候,可以时候typedef简化声明:
typedef pair author;
author pro("May", "Lily");
author joye("James", "Joyce");
Pair对象的操作
对于pair类,由于它只有两个元素,分别名为first和second,因此直接使用普通的点操作符即可访问其成员
pair a("Lily", "Poly");
string name;
name = pair.second;
生成新的pair对象
可以使用make_pair对已存在的两个数据构造一个新的pair类型:
int a = 8;
string m = "James";
pair newone;
newone = make_pair(a, m);
对pair里的元素进行排序,一般是对第一个first进行排序,second也跟着变化。
Sort()函数用法
template void sort(RanIt first, RanIt last); //--> 1)template void sort(RanIt first, RanIt last, Pred pr); //--> 2) 头文件: #include using namespace std; 1.默认的sort函数是按升序排。对应于1) sort(a,a+n); //两个参数分别为待排序数组的首地址和尾地址 2.可以自己写一个cmp函数,按特定意图进行排序。对应于2) 例如: int cmp( const int &a, const int &b ){ if( a > b ) return 1; else return 0; } sort(a,a+n,cmp); 是对数组a降序排序 又如: int cmp( const POINT &a, const POINT &b ){ if( a.x < b.x ) return 1; else if( a.x == b.x ){ if( a.y < b.y ) return 1; else return 0; } else return 0; } sort(a,a+n,cmp); 是先按x升序排序,若x值相等则按y升序排
相关文章推荐
- c++入门学习(函数模板)
- C++学习摘要之四:虚函数和多态
- [C++再学习系列] C++编译器的函数编译流程
- Effective C++学习5 条款05:了解C++默默编写并调用了哪些函数
- [C++再学习系列] 函数声明与STL容器构造
- C++中虚函数学习笔记
- [C++再学习系列] 虚函数的4条规则
- C++学习(八)函数基础
- c++学习笔记--虚函数和多态的重新认识
- c++学习之char型字符串与函数
- C++成员函数指针的应用(学习收录)
- C++学习笔记(12)——多态与虚函数
- C++学习笔记(3)——成员变量、成员函数的指针
- C++ 函数模板和排序的函数模板——学习笔记
- 学习c++:获得函数私有变量
- 通过例子学习Lua(6) ---- C/C++中用Lua函数(转)
- c/c++ 学习-open 函数
- C/C++学习笔记1 - 深入了解scanf()/getchar()和gets()等函数(原创)
- [C++再学习系列] 函数模板和类模板
- c++学习心得(pair,操作符重载,this)