vector常见用法
#include <boost/foreach.hpp>
#include <iostream>
#include <vector>
#include <boost/foreach.hpp>
using namespace std;
using namespace boost;
class Test
{
public:
Test(int a){
age=a;
}
int age;
bool operator < ( const Test& rhs ) const { //升序排序时必须写的函数
return age < rhs.age;
}
bool operator > ( const Test& rhs ) const { //降序排序时必须写的函数
return age > rhs.age;
}
};
int main(void)
{
vector<Test> data;
Test t1();
Test t2();
Test t3();
Test t4();
data.push_back(t1);
data.push_back(t2);
data.push_back(t3);
data.push_back(t4);
//1. 遍历
for (vector<Test>::iterator it=data.begin(); it!=data.end(); it++) {
cout<<it->age<< std::endl;
}
//2. 排序
std::sort ( data.begin(), data.end(),greater<Test>() ); //lesss 升序
//3. boost遍历
BOOST_FOREACH(const Test& t,data)
{
cout<<t.age<< std::endl;
}
//4. 删除多个元素
for ( vector<Test>::iterator it = data.begin(); it != data.end(); ) {
if ( it->age == || it->age == ) {
it = data.erase ( it );
} else {
it++;
}
}
std::sort ( data.begin(), data.end(),less<Test>() ); //lesss 升序
BOOST_FOREACH(const Test& t,data)
{
cout<<t.age<< std::endl;
}
return ;
}
vector常见用法的更多相关文章
- STL vector常见用法详解
<算法笔记>中摘取 vector常见用法详解 1. vector的定义 vector<typename> name; //typename可以是任何基本类型,例如int, do ...
- C++序列容器之 vector常见用法总结
一.关于vector 本文默认读者具有一定的c++基础,故大致叙述,但保证代码正确. vector是一个动态的序列容器,相当于一个size可变的数组. 相比于数组,vector会消耗更多的内存以有效的 ...
- c++ 中vector 常见用法(给初学者)
c++ 中 vector vector有两个参数,一个是size,表示当前vector容器内存储的元素个数,一个是capacity,表示当前vector在内存中申请的这片区域所能容纳的元素个数. ca ...
- c++ vector常见用法
//输出尾巴的元素 cout<<vec.back(); //定义vector迭代器 vector<int>::iterator ite=vec.begin(); for(ite ...
- C++标准模板库(STL)——vector常见用法详解
vector的定义 vector<typename> name; 相当于定义了一个一维数组name[SIZE],只不过其长度可以根据需要进行变化,比较节省空间,通俗来讲,vector就是& ...
- PAT A1039、A1047——vector常见用法
vector 常用函数实例 (1)push_back() (2)pop_back() (3)size() (4)clear():清空vector中所有元素 (5)insert():insert(it, ...
- C++学习二 vector的用法(使用sort对于vector排序)
一.vector的介绍 vector是C++里面的一个容器,也是我们数学上面理解的向量,有一些比较常见的操作. 二.vector的定义 #include<vector> using nam ...
- STL priority_queue 常见用法详解
<算法笔记>学习笔记 priority_queue 常见用法详解 //priority_queue又称优先队列,其底层时用堆来实现的. //在优先队列中,队首元素一定是当前队列中优先级最高 ...
- STL string 常见用法详解
string 常见用法详解 1. string 的定义 //定义string的方式跟基本数据类型相同,只需要在string后跟上变量名即可 string str; //如果要初始化,可以直接给stri ...
随机推荐
- FAQ:领域服务和应用服务的职责是什么?
问答部分 问: 领域服务的职责是什么? 答: 夸聚合实例业务逻辑. 没办法合理放到实体中的其它业务逻辑. 问: 领域服务的设计原则是什么? 答: 用来组织业务逻辑. 面向业务逻辑. 细粒度. 内部视图 ...
- .NET:负载平衡的主意事项
允许局域网发现和共享. 设置固定IP. 网站的IP设置为“全部未分配”. 注意:如果停止IIS的话,不会对负载平衡有影响,负载还是会分配停止了的IIS所在在的电脑,只有停止服务器了,负载不会再分配给停 ...
- [翻译] DFCircleActivityIndicator DF圆形活动状态指示器
DFCircleActivityIndicator Native, customizable and animated circular view to show when long activity ...
- CloudStack 4.0.2 vRouter导致重启后状态不正常
最近总玩CloudStack + KVM,发现在重启CloudStack服务后,host(kvm)的状态老是为alert.日志里出现如下错误提示: ERROR [agent.manager.Agent ...
- 数据库 DB MySQL 基本操作 CRUD 多表 MD
操作数据库 创建数据库:create 创建一个名称为mydb1的数据库 create database mydb1; 创建一个使用gbk字符集的mydb2数据库 create database myd ...
- 使用 Python 创建你自己的 Shell (上)
我很想知道一个 shell (像 bash,csh 等)内部是如何工作的.于是为了满足自己的好奇心,我使用 Python 实现了一个名为yosh(Your Own Shell)的 Shell.本文章所 ...
- Windows Xp不用安装软件管理多个远程桌面连接
一直使用系统默认的Mstsc来进行远程连接,但如果要连接N个远程的话就比较麻烦 之前也找过第三方的管理软件如:mRemoteNG 此软件有优点就不说了,但我在使用此软件时有一个很大的问题,就是如果一个 ...
- (剑指Offer)面试题42:翻转单词顺序
题目: 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字母一样处理. 例如输入字符串“I am a student.”,则输出"student. ...
- Android中的一些小技巧
这个是App判断是pad还是手机的代码: public boolean isTabletDevice() { TelephonyManager telephony = (TelephonyManage ...
- sqlserver并发用户数
http://zhidao.baidu.com/question/291231462.html http://dev.mysql.com/downloads/mysql/