在std :: forward_list的开头插入元素

时间:2014-02-12 13:39:47

标签: c++ c++11 stl forward-list

我想从std::forward_list中删除元素并将其插入列表的开头 但是没有插入方法......只有insert_after

如何在std::forward_list的开头插入元素?

2 个答案:

答案 0 :(得分:6)

使用std::forward_list::push_front

示例:

// forward_list::push_front
#include <iostream>
#include <forward_list>
using namespace std;

int main ()
{
  forward_list<int> mylist = {77, 2, 16};
  mylist.push_front (19);
  mylist.push_front (34);

  std::cout << "mylist contains:";
  for (int& x: mylist) std::cout << ' ' << x;
  std::cout << '\n';

  return 0;
}

输出:mylist包含:34 19 77 2 16

答案 1 :(得分:2)

您可以使用方法 push_front

在列表的开头插入一个元素

另一种方法是使用方法insert_after

以下是使用这两种方法的示例

std::forward_list<int> l;

l.push_front( 1 );
l.insert_after( l.cbefore_begin(), 0 );

for ( int x : l ) std::cout << x << ' ';
std::cout << std::endl;