簡體   English   中英

如何在C ++中將指針向量轉換為鏈接列表?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM