equal_range

equal_range

這個equal_range函式用於在序列中表示一個數值的第一次出現與最後一次出現的後一位。得到相等元素的子範圍

基本介紹

  • 中文名:模板函式
  • 頭檔案: <algorithm>
  • 函式名:std::equal_range
說明,參數,返回值,實例,

說明

//這個equal_range函式用於在序列中表示一個數值的第一次出現與最後一次出現的後一位,
//與前面介紹的lower_bound,upper_bound是一樣的這個函式返回的是pair類型
//first,secound與上面兩個函式對應
#include"stdafx.h"
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
void print(int m){cout<<m<<" ";}
void main()
{
int m[]={1,2,4,2,3,4,5,4,2,3,3,5,2,};
vector<int> mm(m,m+13);
sort(mm.begin(),mm.end());
pair<vector<int>::iterator,vector<int>::iterator> bound;
bound=equal_range(mm.begin(),mm.end(),2);
for_each(bound.first ,bound.second ,print);
cout<<endl;
}
模板函式
頭檔案: <algorithm>
函式名: std::equal_range
函式1
template <class ForwardIterator, class T>
pair<ForwardIterator,ForwardIterator> equal_range (ForwardIterator first, ForwardIterator last, const T& val);
函式2
template <class ForwardIterator, class T, class Compare>
pair<ForwardIterator,ForwardIterator> equal_range (ForwardIterator first, ForwardIterator last, const T& val, Compare comp);
獲取相等元素的子範圍.
對於給定的範圍[first,last), 返回所有值和val等價的元素的範圍.

對於函式1. 使用operator<來進行元素比較. 對於函式2. 用comp進行元素比較. 兩個元素a,b,當條件if(!(a<b) && !(b<a)) 或者if(!comp(a,b) && !comp(b,a))成立時,認為這2個元素等價.

相關詞條

熱門詞條

聯絡我們