0

があるとしSeq[Int]ます。ここで、シーケンス要素 <= 0 を最初に配置し、要素 > 0 をその後に配置するようにシーケンスを並べ替えたいと思います。で簡単かつ効率的に行う方法はScala?

4

4 に答える 4

2

シンプルで非常に高速です。

Seq(1, -1, 4, 2, -3, 6, -4).partition(_ <= 0) match{
    case (smaller, bigger) => smaller ++ bigger
}
//List(-1, -3, -4, 1, 4, 2, 6)
于 2013-06-20T15:28:26.213 に答える