[英]How can I convert a vector of pointers to a linked list in C++?
我在理解鏈表時遇到一些麻煩。 我在網上看到的所有內容似乎都在告訴我不同的事情。 我有一個指向以下電影對象的指針向量:
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
替換為std :: list。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.