【问题标题】:how to write a function that will take a linkedlist as a parameter? and return a linked list containing all ODD numbers? [closed]如何编写一个将链表作为参数的函数?并返回一个包含所有奇数的链表? [关闭]
【发布时间】:2017-11-10 13:59:38
【问题描述】:

我已经创建了链表。但现在我遇到了将链表作为参数传递给函数并返回包含该链表中所有奇数的链表的问题。

【问题讨论】:

  • 咨询std::forward_list参考。
  • 如果您已经创建了它,您可以展示代码以及您尝试过的其他内容,以便人们获得有用的信息来响应。
  • 那么,究竟,问题出在哪里?向我们展示 minimal reproducible example 您遇到问题的代码。
  • range-v3: my_list | ranges::view::filter([](int e){ return e % 2 == 1; }).

标签: c++ linked-list


【解决方案1】:

你可以试试这样的:

std::list<int> Remove_Odd_Numbers(const std::list<int>& original_list)
{
  std::list<int>  odd_list;
  std::list<int>::const_iterator  iter_begin(original_list.begin());
  std::list<int>::const_iterator  iter_end(original_list.end());
  std::list<int>::const_iterator  iter(original_list.begin());
  for (iter = begin_iter; iter != end_iter; ++iter)
  {
    if ((*iter & 1) == 1)
    {
      odd_list.push_back(*iter);
    }
  }
  return odd_list;
}

如果您有自定义链接列表,请将您的列表类型替换为 std::list

如果您的自定义列表中没有迭代器,则使用循环访问每个节点。如果节点中的值为奇数,则将新节点追加到新列表中。

【讨论】:

    猜你喜欢
    • 2020-07-25
    • 1970-01-01
    • 2017-10-08
    • 2017-10-08
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多