如何对 DList 进行排序?
How to sort DList?
如何就地对 DList 和 SList 进行排序?
在 Python 中我们可以做 list.sort(),在 Java - 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
}
或者使用某物。本质上像堆或 RBTree 一样排序:
import std.algorithm, std.container, std.stdio;
void main()
{
auto list = DList!int(2, 1, 3);
list[].redBlackTree[].writeln;
}
如何就地对 DList 和 SList 进行排序?
在 Python 中我们可以做 list.sort(),在 Java - 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
}
或者使用某物。本质上像堆或 RBTree 一样排序:
import std.algorithm, std.container, std.stdio;
void main()
{
auto list = DList!int(2, 1, 3);
list[].redBlackTree[].writeln;
}