当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ list::begin()、list::end()用法及代码示例



清单是C++中用于以非连续方式存储数据的容器,通常,数组和向量本质上是连续的,因此,与列表中的插入和删除选项相比,插入和删除操作的成本更高。

list::begin()

begin()函数用于返回指向列表容器的第一个元素的迭代器。它与front()函数不同,因为front函数返回对容器第一个元素的引用,但begin()函数将双向迭代器返回到容器的第一个元素。

用法:


listname.begin()
参数:
No parameters are passed.
返回:
This function returns a bidirectional
iterator pointing to the first element.

例子:

Input :mylist{1, 2, 3, 4, 5};
         mylist.begin();
Output:returns an iterator to the element 1

Input :mylist{8, 7};
         mylist.begin();
Output:returns an iterator to the element 8

错误和异常

1.它没有异常抛出保证。
2.传递参数时显示错误。

// CPP program to illustrate 
// Implementation of begin() function 
#include <iostream> 
#include <list> 
using namespace std; 
  
int main() 
{ 
    // declaration of list container 
    list<int> mylist{ 1, 2, 3, 4, 5 }; 
  
    // using begin() to print list 
    for (auto it = mylist.begin(); it != mylist.end(); ++it) 
        cout << ' ' << *it; 
    return 0; 
}

输出:

1 2 3 4 5

时间复杂度:O(1)

list::end()

end()函数用于返回指向列表容器的最后一个元素的迭代器。它与back()函数不同,因为back()函数返回对容器最后一个元素的引用,但end()函数将双向迭代器返回到容器的最后一个元素。

用法:

listname.end()
参数:
No parameters are passed.
返回:
This function returns a bidirectional
iterator pointing to the last element.

例子:

Input :mylist{1, 2, 3, 4, 5};
         mylist.end();
Output:returns an iterator to the element 5

Input :mylist{8, 7};
         mylist.end();
Output:returns an iterator to the element 7

错误和异常

1.它没有异常抛出保证。
2.传递参数时显示错误。

// CPP program to illustrate 
// Implementation of end() function 
#include <iostream> 
#include <list> 
using namespace std; 
  
int main() 
{ 
    // declaration of list container 
    list<int> mylist{ 1, 2, 3, 4, 5 }; 
  
    // using end() to print list 
    for (auto it = mylist.begin(); it != mylist.end(); ++it) 
        cout << ' ' << *it; 
    return 0; 
}

输出:

1 2 3 4 5

时间复杂度:O(1)



相关用法


注:本文由纯净天空筛选整理自AyushSaxena大神的英文原创作品 list::begin() and list::end() in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。