如何对列表和列表进行排序?
在Python中我们可以在Java中执行list.sort() - Collections.sort(linkedList,new Comparator ...)
我无法弄清楚如何在D中做同样的事情。
排序链表是低效的,这就是为什么sort
需要随机访问范围作为输入。您可能希望使用具有直接内存访问权限的数组:
import std.algorithm, std.container, std.stdio;
void main()
{
auto list = DList!int(2, 1, 3);
list[].array.sort.release.writeln; // or directly start with an array
}
或者使用......本质上像Heap或RBTree那样排序:
import std.algorithm, std.container, std.stdio;
void main()
{
auto list = DList!int(2, 1, 3);
list[].redBlackTree[].writeln;
}