一. vector 迭代器:
除了使用下标来访问vector对象的元素外,标准库还提供了访问元素的方法:使用迭代器。迭代器是一种检查容器内元素并且遍历元素的数据类型。
1. 容器的iterator类型:
vector<int> ::iterator it;
| begin | 返回的元素指向第一个元素 |
| end | 返回的迭代器指向最后一个元素的下一个 |
vector<int>::iterator iter=v.begin();
举例:将vector中的元素全部赋值为0
for(vector<int>::iterator iter=v.begin();iter!=v.end();iter++)
{
*iter=0;
}
| less(小于) //升序排列 |
| greater(大于)
//降序排列 |
| equal_to(等于) |
| not_equal_to(不相等) |
| less_equal(小于等于) |
| greater_equal(大于等于) |
1. 函数原型:
template <class RandomAccessIterator> void sort ( RandomAccessIterator first, RandomAccessIterator last ); template <class RandomAccessIterator, class Compare> void sort ( RandomAccessIterator first, RandomAccessIterator last, Compare comp );
sort(vec.begin(), vec.end(), less<int>());
3. 例子二:
sort(vec.begin(), vec.end());
1. 需要重载操作符:
struct AverageErrorResult
{
std::vector<int> mIndexArray;
int mCalcBur0;
int mGapPower;
int mEngagePower;
int mBladeAnglePower;
int mAverageErrorRate;
bool operator <(const AverageErrorResult& other)const //升序排序
{
return mAverageErrorRate < other.mAverageErrorRate;
}
//或者
bool operator >(const AverageErrorResult& other)const //降序排序
{
return mAverageErrorRate > other.mAverageErrorRate;
}
};
sort(mAverageErrorRateArray.begin(), mAverageErrorRateArray.end(),less<AverageErrorResult>());
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/u013354805/article/details/47830845