在向量中存储列表中增加的数量子列表

时间:2014-07-08 18:43:27

标签: c++ list pointers vector

我有一个链表类:

template <class T> class List {
  private:
    struct node {
      T info;
      node* next;
      node* prev;
    };
    int length;
    node* first;
    node* last;
   ...
}

我必须添加一个函数,它接受数字增加或相等的子列表,并将rhem存储在std :: vector中。 示例:如果列表为:(1,2,3,2,3,3),v [0] =(1,2,3),v [1] =(2,3,3)。 该函数的标题是:

void parts(std::vector<List>& v) {}
/* Pre: v.size() == 0
 * Post: The original list is empty, v.size() = number of sublists, 
 * v[i] is the ith sublist */

我发现自己是一个解决方案,但我已经使用v.push_back()将每个子列表添加到向量中,但是我的老师说我不能使用它而我不知道怎么做没有push_back()就可以做到。 感谢。

1 个答案:

答案 0 :(得分:0)

有一大堆其他方法可以添加/初始化向量。您可以从列表中传递一系列迭代器,其中一个:

vector<int> v(list.begin(), list.end();

您可以替换[begin,end)

的任何有效迭代器