Quicksort với Haskell
TIL
748
Haskell
18
algorithm
35
Male avatar

phqb viết ngày 09/07/2016

qsort :: (Integral a) => [a] -> [a]
qsort lst
    | length lst <= 1 = lst
    | otherwise = (qsort left) ++ mid ++ (qsort right) where
        pivot = lst !! (div (length lst) 2 - 1) --todo: viết randomized quicksort
        left = [x | x <- lst, x < pivot]
        mid = [x | x <- lst, x == pivot]
        right = [x | x <- lst, x > pivot]

maxn :: Int
maxn = 1000000

main = do 
    print ((qsort [maxn,(maxn - 1)..1]) !! (maxn - 1))
    -- chạy trong ~3 giây trên ideone.com :(
Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

Male avatar

phqb

4 bài viết.
0 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
Male avatar
1 0
Code import java.util.; import java.lang.; import java.io.; abstract class Chainable { public Chainable andThen(Chainable after) { Chainab...
phqb viết hơn 2 năm trước
1 0
Male avatar
1 0
Code import java.util.; import java.lang.; import java.io.; class Beers implements Iterable { private int count = 0; class BeersIterator i...
phqb viết gần 3 năm trước
1 0
Bài viết liên quan
White
49 7
Là một người thường xuyên đọc Quora, có một điểm cá nhân tôi thấy rất ấn tượng ở quora chính là khả năng autocomplete với tốc độ ánh sáng. (Ảnh) ...
huydx viết 2 năm trước
49 7
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


Male avatar
{{userFollowed ? 'Following' : 'Follow'}}
4 bài viết.
0 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!