Quicksort với Haskell
TIL
634
Haskell
18
algorithm
33
Male avatar

baoquocphan 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

baoquocphan

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...
baoquocphan viết hơn 1 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...
baoquocphan viết hơn 1 năm trước
1 0
Bài viết liên quan
White
14 6
Người ta nói "nullable values" là cái "billion dollar mistake". Kể từ ALGOL, chúng ta không thể dùng nullable values/references như một value bình ...
Justin Le viết hơn 3 năm trước
14 6
White
3 0
Đọc hiểu được type signature là một trong các yếu tố quyết định chuyện bạn có học Haskell được hay không. Đa số chúng ta khi mới tìm hiểu thường g...
Huy Trần viết 9 tháng trước
3 0
White
4 2
Trong (Link), tôi có đề cập đến cách bắt đầu với Haskell bằng cách cài đặt Haskell Platform. Sau một thời gian mày mò không biết bao nhiêu thời gia...
viethnguyen viết hơn 3 năm trước
4 2
{{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á!