在C ++ STL中列出end()函数

在本文中,我们将讨论C ++中list::end()函数的工作原理,语法和示例。

什么是STL中的列表?

列表是一种数据结构,可以按时间顺序在任何位置进行恒定的插入和删除。列表被实现为双向链接列表。列表允许非连续的内存分配。与数组,向量和双端队列相比,列表在容器中的任何位置执行元素的插入提取和移动效果更好。在列表中,直接访问该元素的速度很慢,并且列表类似于forward_list,但是转发列表对象是单个链接列表,并且只能迭代转发。

什么是list::end()?

list::end()是C ++ STL中的内置函数,在<list>头文件中声明。end()返回迭代器,该迭代器被引用到列表容器中终点位置旁边的元素。此函数不指向容器中的任何元素。

此函数通常与list::begin()一起使用,以提供特定列表容器的范围。

语法

list_container.end();

此函数不接受任何参数。

返回值

此函数将过去返回到列表容器的end元素。

示例

/ *在下面的代码中,我们使用函数end()使用给定的函数遍历列表中存在的元素。* /

#include <bits/stdc++.h>
using namespace std;
int main(){
   //创建一个列表
   list<int> myList;
   //使用push_back()函数将元素插入到列表中
   myList.push_back(67);
   myList.push_back(12);
   myList.push_back(32);
   myList.push_back(780);
   myList.push_back(78);
   cout<<"elements in the list are :\n";
   for (auto j = myList.begin(); j!= myList.end(); j++){
      cout << *j << " ";
   }
   return 0;
}

示例

如果我们运行上面的代码,它将生成以下输出

Elements in the list are:
67 12 32 780 78

示例

/ *在下面的代码中,我们使用头文件使用该end()函数访问列表中存在的元素。* /

#include <iostream>
#include <list>
int main (){
   //创建元素数组
   int values[] = {67, 12, 32, 780, 78};
   //将值插入列表
   std::list<int> myList (values,values+5);
   std::cout << "elements in the list are :\n";
   //accessing list elements using iterator returned by an end() function
   for (std::list<int>::iterator i = myList.begin() ; i != myList.end(); ++i)
      std::cout << ' ' << *i;
   return 0;
}

输出结果

如果我们运行上面的代码,它将生成以下输出

Elements in the list are:
67 12 32 780 78