Drkcore

27 11 2007 perl Tweet

クイックソート

Perl

sub qsort {
  my $pivot = pop @_ || return;
  return qsort( grep { $_ <  $pivot } @_ ),
         $pivot,
         qsort( grep { $_ >= $pivot } @_ );
}

Haskell

qsort []     = []
qsort (p:xs) = qsort lt ++ [p] ++ qsort gteq
                 where
                   lt   = [x | x <- xs, x < p]
                   gteq = [x | x <- xs, x >= p]
  • grep { $_ < $pivot } @_ だと(代入するために)左側で待ち受けてる感が強いんだけど、
  • ( grep { $_ < $pivot } @_ ) と書くとリスト内包表記に見えてきた。

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021