C++中的linked-list如何使用STL列表转到"下一个元素"

cpp*_*ppb 1 c++ linked-list

我有一个非常基本的问题.我想使用STL的列表而不是创建我自己的链表(我的代码如下所示)

struct myList
{

    myList *next;
    myList *previous;
};

myList->next = NULL;
Run Code Online (Sandbox Code Playgroud)

使用STL列表:

#include <list>

std::list<int> L;
L.push_back(1);
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何访问STL列表中的"next"元素?

ken*_*ytm 7

std::list是一个容器.要访问单个节点,您需要使用迭代器.

例如,要使用头节点,请使用

std::list<int>::const_iterator cit = L.begin();
Run Code Online (Sandbox Code Playgroud)

要移动到下一个节点,请使用

++ cit;
Run Code Online (Sandbox Code Playgroud)


Ida*_*n K 6

使用std :: advance:

std::list<int> mylist;
...
int index = 5;
std::list<int>::iterator ith_iterator = mylist.begin();
std::advance(ith_iterator, index);
int& ith_element = *ith_iterator;
Run Code Online (Sandbox Code Playgroud)