如何使用快速排序按列表中的ID升序排序然後顯示元素?我有錯誤:沒有(Ord FigureType)的實例。我的代碼是:quicksort order by id asc
showRectangles [] = "No rectangles"
showRectangles x = concat (map showRectangle (qsort x))
showRectangle :: FigureType -> String
showRectangle (Figure id width height) = "id: " ++ show id ++ " width: " ++ show width ++ " height: " ++ show height ++ "\n";
data FigureType = Figure Int Int Int deriving(Show, Read)
qsort [] = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)
我不知道函數sort() - 你能告訴我如何使用它通過ID(第一個參數圖)對列表進行排序? – mrquestion 2011-04-23 07:15:51
@mrq:'sort x'。 (如果你從'Ord'派生出來,它將按照寬度和高度排列,除了id。) – kennytm 2011-04-23 07:19:37
好的我已經實現了Ord,它的工作原理很多! – mrquestion 2011-04-23 07:33:15