注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

HT·生活

123

 
 
 

日志

 
 

haskell-- 模式判别 + 条件分支  

2015-12-16 20:24:23|  分类: 函数式编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
函数式编程中模式判别和递归真是用的神乎其技的,下面给一个关于比较复杂的模式判别的小demo
实现插入排序,代码简洁的简直一塌糊涂~~

-- 插入排序实现
-- 插入单个元素
insert :: Int -> [Int] -> [Int]
insert target list = case (list) of
[] -> [target]
(y:ys) -> if target <= y then target : (y : ys)
else y : (insert target ys)

iSort :: [Int] -> [Int]
iSort list = case (list) of
[] -> []
(x:xs) -> insert x (iSort xs)
------------
-- unit test
------------
numList = [1, 7, 10, (-1)]
-- for iSort test
testISort :: [Int]
testISort = iSort numList


代码在https://github.com/fangzai/job_pro/blob/master/haskell/ThirdScript.hs
  评论这张
 
阅读(42)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017