gpt4 book ai didi

c++ - 如何将指针 vector 转换为 C++ 中的链表?

转载 作者:行者123 更新时间:2023-11-30 00:50:44 24 4
gpt4 key购买 nike

我在理解链表时遇到了一些困难。我在网上看到的一切似乎都在告诉我不同​​的事情。我有一个指向电影对象的指针 vector ,声明为:

vector<Movie*> movies;

我想将其转换为电影对象的链接列表。这是我的 MovieNode 类:

#ifndef _MovieNode_h_
#define _MovieNode_h_

#include "Movie.h"

class MovieNode{
public:
Movie movieData;
MovieNode* nextMovie;
};

#endif

如果有人能帮助我,我将不胜感激。谢谢。

最佳答案

使用 std::copy STL 算法将您的 vector 复制到 std::list :

std::list<Movie*> list_movies;
std::copy( movies.begin(), movies.end(), std::back_inserter( list_movies) );

或者

std::list<Movie*> list_movies(movies.begin(), movies.end());

编辑:

如果您有 C++11 编译器,请考虑 std::forward_list as a possible alternative到 std::list。

关于c++ - 如何将指针 vector 转换为 C++ 中的链表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24027873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com