คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
Haskell โค้ดสั้น อ่านง่าย
import Data.List
merge :: Ord a => [a] -> [a] -> [a]
merge x [] = x
merge [] y = y
merge (x:xs) (y:ys) = case compare x y of
LT -> x : merge xs (y:ys)
_ -> y : merge (x:xs) ys
mergesort :: Ord a => [a] -> [a]
mergesort [x] = [x]
mergesort list = merge left right where
split = splitAt (length list `div` 2) list
left = mergesort $ fst $ split
right = mergesort $ snd $ split
merge :: Ord a => [a] -> [a] -> [a]
merge x [] = x
merge [] y = y
merge (x:xs) (y:ys) = case compare x y of
LT -> x : merge xs (y:ys)
_ -> y : merge (x:xs) ys
mergesort :: Ord a => [a] -> [a]
mergesort [x] = [x]
mergesort list = merge left right where
split = splitAt (length list `div` 2) list
left = mergesort $ fst $ split
right = mergesort $ snd $ split
▼ กำลังโหลดข้อมูล... ▼
แสดงความคิดเห็น
คุณสามารถแสดงความคิดเห็นกับกระทู้นี้ได้ด้วยการเข้าสู่ระบบ
กระทู้ที่คุณอาจสนใจ
อ่านกระทู้อื่นที่พูดคุยเกี่ยวกับ
โค้ด กีอัส
วิทยาศาสตร์คอมพิวเตอร์
การพัฒนาซอฟต์แวร์
การออกแบบฐานข้อมูล
HTML
หาโค้ดmerge sort แบบง่ายๆ ภาษาซี