【问题标题】:Store increasing number sublists of a list in a vector在向量中存储越来越多的列表子列表
【发布时间】:2014-07-08 18:43:27
【问题描述】:

我有一个链表类:

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 怎么做()。 谢谢。

【问题讨论】:

  • 你的老师是个白痴。

标签: c++ list pointers vector


【解决方案1】:

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

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

您可以将任何有效的迭代器替换为 [beginning, end)

【讨论】:

    猜你喜欢
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多