V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lqcc
V2EX  ›  程序员

haskell 菜鸟的问题

  •  
  •   lqcc · 2022-07-11 21:27:26 +08:00 · 1539 次点击
    这是一个创建于 870 天前的主题,其中的信息可能已经有所发展或是发生改变。
    quicksort :: (Ord a) => [a] -> [a]
    quicksort [] = []
    quicksort (x:xs) =
            let smallerOrEqual = [a | a <- xs, a <= x]
                    larger = [a | a <- xs, a > x]
            in quicksort smallerOrEqual ++ [x] ++ quicksort larger
    

    初学菜鸟。请问这个示例程序,迭代是怎么停止的?

    5 条回复    2022-07-12 10:41:29 +08:00
    pe200012
        1
    pe200012  
       2022-07-11 21:39:08 +08:00 via Android
    pe200012
        2
    pe200012  
       2022-07-11 21:41:36 +08:00
    空列表的时候终止(
    Edward4074
        3
    Edward4074  
       2022-07-11 21:48:15 +08:00 via iPhone
    smallerOrEqual 和 large 各自为空数组时,进入第一个 case 就停止了
    leomayleomay
        4
    leomayleomay  
       2022-07-12 03:29:32 +08:00
    pattern matching, 第一个
    lqcc
        5
    lqcc  
    OP
       2022-07-12 10:41:29 +08:00
    @pe200012 @Edward4074 @leomayleomay 多谢,看明白了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3583 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:43 · PVG 18:43 · LAX 02:43 · JFK 05:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.