template<class InputIterator>
typename iterator_traits<InputIterator>::difference_type distance (InputIterator first, InputIterator last);
[first, last)
范围内包含的元素的个数。O(1)
常数阶;O(n)
线性阶。<iterator>
头文件,并位于 std 命名空间中。因此在使用此函数前,程序中应包含如下代码:
#include <iterator> using namespace std;
#include <iostream> // std::cout #include <iterator> // std::distance #include <list> // std::list using namespace std; int main() { //创建一个空 list 容器 list<int> mylist; //向空 list 容器中添加元素 0~9 for (int i = 0; i < 10; i++) { mylist.push_back(i); } //指定 2 个双向迭代器,用于执行某个区间 list<int>::iterator first = mylist.begin();//指向元素 0 list<int>::iterator last = mylist.end();//指向元素 9 之后的位置 //获取 [first,last) 范围内包含元素的个数 cout << "distance() = " << distance(first, last); return 0; }程序执行结果为:
distance() = 10
本文链接:http://task.lmcjl.com/news/18976.html