如何排序DList?

问题描述 投票:2回答:1

如何对列表和列表进行排序?

在Python中我们可以在Java中执行list.sort() - Collections.sort(linkedList,new Comparator ...)

我无法弄清楚如何在D中做同样的事情。

list sorting d
1个回答
3
投票

排序链表是低效的,这就是为什么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
}

Open on run.dlang.io

或者使用......本质上像Heap或RBTree那样排序:

import std.algorithm, std.container, std.stdio;
void main()
{
    auto list = DList!int(2, 1, 3);
    list[].redBlackTree[].writeln;
}

Open on run.dlang.io

© www.soinside.com 2019 - 2024. All rights reserved.