设万维读者为首页 广告服务 技术服务 联系我们 关于万维
简体 繁体 手机版
分类广告
版主:
万维读者网 > 灵机一动 > 帖子
做了个难的
送交者: 思良将 2013年06月06日18:55:24 于 [灵机一动] 发送悄悄话

做了个难的

(define bubble
   (lambda (predicate b slst)
     (if (null? slst)
         (list b)
         (if (predicate (car slst) b)
             (cons (car (bubble predicate (car slst) (cdr slst)))
                   (cons b (cdr (bubble predicate (car slst) (cdr slst)))))
             (cons (car (bubble predicate b (cdr slst)))
                   (cons (car slst) (cdr (bubble predicate b (cdr slst)))))))))
;Value: bubble
(define sort
   (lambda (predicate lon)
     (if (null? lon)
         '()
         (cons (car (bubble predicate (car lon) (cdr lon)))
               (sort predicate (cdr (bubble predicate (car lon) (cdr lon))))))))
;Value: sort
(sort < '(8 2 5 2 3))
;Value 27: (2 2 3 5 8)
(sort >'(8 2 5 2 3))
;Value 28: (8 5 3 2 2)
0%(0)
0%(0)
  上边的这个太慢了。改成这样就很快了 - 思良将 06/07/13 (2398)
标 题 (必选项):
内 容 (选填项):
实用资讯
回国机票$360起 | 商务舱省$200 | 全球最佳航空公司出炉:海航获五星
海外华人福利!在线看陈建斌《三叉戟》热血归回 豪情筑梦 高清免费看 无地区限制
一周点击热帖 更多>>
一周回复热帖
历史上的今天:回复热帖
2012: 勃朗宁手枪与佳能喷墨打印机
2012: 我们老了怎么办?
2010: 校园趣事系列