【问题标题】:Sorting a linear data structure in place就地对线性数据结构进行排序
【发布时间】:2021-06-13 14:16:04
【问题描述】:

如何将此函数转换为对列表a 进行适当排序的函数?我目前有以下:

template<typename Iterator>
void LISTsort(Iterator curr, Iterator stop)
{
    //how to sort in place
}

我没有想到如何将值“放”回list a。我知道我可以使用 while 循环并替换每个单独的 *curr 并增加迭代器。有什么方法可以在不使用任何循环的情况下完成此操作?

【问题讨论】:

  • 循环有什么问题?
  • P.S.这不是就地排序。
  • 打电话给std::list::sort怎么样?

标签: c++ list iterator


【解决方案1】:

std::list 有一个用于排序的成员函数。它叫sort

有什么方法可以在不使用任何循环的情况下完成此操作?

不使用循环(递归或迭代)进行排序的唯一方法是将输入的大小限制为常量。

【讨论】:

  • 我不知道列表有排序功能
  • @JayEstrera 很抱歉选择了它,但你的错误不是你不知道它存在,问题是你没有查看std::list 的文档来找到它(我不知道它也是,但我必须查一下)
猜你喜欢
  • 2011-07-06
  • 1970-01-01
  • 1970-01-01
  • 2011-12-20
  • 1970-01-01
  • 2011-02-11
  • 2020-09-11
  • 1970-01-01
相关资源
最近更新 更多