クイックソートを使用して、リストの昇順に並べ替えて要素を表示するにはどうすればよいですか?私はエラーがあります:インスタンスはありません(Ord Figure Type)。私のコード:クイックソートorderby 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
@mrq: 'sort x'。 (もしあなたが 'Ord'から派生すれば、id以外にも幅と高さで注文します) – kennytm
ok私はOrdを実装しました。 – mrquestion