将递增数量的列表子列表存储在vector中

Store increasing number sublists of a list in a vector

本文关键字:列表 存储 vector      更新时间:2023-10-16

我有一个链表类:

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.p push_back()将每个子列表添加到向量,但我的老师说我不能使用它,我不知道如何做到没有push_back()。谢谢。

还有许多其他方法可以添加/初始化向量。你可以从列表中给它传递一系列迭代器,比如:

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

你可以用任何有效的迭代器替换[begin, end)