STL数据类型-1 vector和使用sort排序
2018-02-05 13:25
197 查看
STL数据类型-1 vector和使用sort排序
不定长数组:vector 和 排序重载运算符
1. 定义不定长数组 使用头文件#include<vector> vector<int> a; vector<double> b; vector<string> s; 2. 一些基本操作 a.size(); //读取长度 a.resize(); //改变长度 a.push_back(); //向尾部添加数据 a.pop_back(); //删除最后一个元素 3. 一些指针指向 a.begin() a.end(); 一些基本函数操作 1.遍历区间中的元素,传递给后面的函数用 for(pr=books.begin();pr!=books.end(),pr++) ShowReview(*pr); 新的写法: for_each(books.begin(),books.end(),ShowReview); 接受三个参数,前面两个数组区间.后面一个是函数, 把区间中的每个参数传递给函数ShowReview(books类型参数); for_each函数无法修改books数组内容 2. 随机排列区间元素 random_shuffle(books.begin(),books.end()); 3. 排序 重载<号,和自己编写排序函数 sort(books.begin(),books.end()); Books数组,是由Review 结构体类型创造的,需要定义 bool operator< (const Review& r1, const Review& r2) {if (r1.title < r2.title) return true; else if (r1.title == r2.title&&r1.rating<r2.rating) return true; else return false;} 定义完成后就可以用sort来升序排序 如果想降序或者按rating来排序使用另外一种三个参数的sort函数 最后一个参数是指向要使用的的函数的指针 bool WorseThan(conse Review&r1, conse Review &re) {if (r1.rating<r2.rating) return true; else return false;} 定义完成这个函数后就可以用函数进行升序排列 sort(bools.begin(), books.end(), WorseThan);
相关文章推荐
- C++ STL 有关于SET集合部分 的自定义数据类型的排序 以及 pair的使用
- AS3效率优化:使用Vector数据类型
- JAVA基础学习之String、StringBuffer、StringBuilder、基本数据类型的使用、整形进制转换、集合Collection、Vector、ArrayList、LinkedList、HashSet、TreeSet等(3)
- AS3效率优化:使用Vector数据类型
- 动态库中使用STL数据类型
- STL源码分析之vector(一) 基本数据类型及构造函数
- VC常用数据类型使用转换详解
- VC常用数据类型使用转换详解
- VC常用数据类型使用转换详解
- VC常用数据类型使用转换详解
- Effective STL:Item 16:如何将vector和string的数据传给传统的API函数
- 使用系统表获得MS SQL Server表或视图的字段列表及其数据类型
- 在Struts中使用JavaBean和List(多行数据)类型属性
- SqlServer2000中用户自定义数据类型的使用
- VC常用数据类型使用转换详解
- VC常用数据类型使用转换详解
- 使用域扩展interbase的数据类型
- VC常用数据类型使用转换详解
- 常用数据类型使用转换详解
- 常用数据类型使用转换详解