设万维读者为首页 广告服务 技术服务 联系我们 关于万维
简体 繁体 手机版
分类广告
版主:
万维读者网 > 灵机一动 > 跟帖
上边的这个太慢了。改成这样就很快了
送交者: 思良将 2013月06月07日00:58:30 于 [灵机一动] 发送悄悄话
回  答: 做了个难的思良将 于 2013-06-06 18:55:24


上边的这个太慢了。改成这样就很快了



(define bubble

  (lambda (predicate b slst)

    (if (null? slst)

        (list b)

        (if (predicate (car slst) b)

            (let ((bu-ret (bubble predicate (car slst) (cdr slst))))

              (cons (car bu-ret) (cons b (cdr bu-ret))))

            (let ((bu-ret (bubble predicate b (cdr slst))))

              (cons (car bu-ret) (cons (car slst) (cdr bu-ret))))))))

;Value: bubble



(define sort

  (lambda (predicate lon)

    (if (null? lon)

        '()

        (let ((bu-ret (bubble predicate (car lon) (cdr lon))))

          (cons (car bu-ret) (sort predicate (cdr bu-ret)))))))

;Value: sort



(sort < '(1 26 8 2 35 897 45 97 425 90 34 87 76 46 38 82 7 58 8 48 231 85 15 700 358 0 63 78 4174 896 41 32))

;Value 11: (0 1 2 7 8 8 15 26 32 34 35 38 41 45 46 48 58 63 76 78 82 85 87 90 97 231 358 425 700 896 897 4174)



(sort > '(1 26 8 2 35 897 45 97 425 90 34 87 76 46 38 82 7 58 8 48 231 85 15 700 358 0 63 78 4174 896 41 32))

;Value 12: (4174 897 896 700 425 358 231 97 90 87 85 82 78 76 63 58 48 46 45 41 38 35 34 32 26 15 8 8 7 2 1 0)

0%(0)
0%(0)
标  题 (必选项):
内  容 (选填项):
实用资讯
回国机票$360起 | 商务舱省$200 | 全球最佳航空公司出炉:海航获五星
海外华人福利!在线看陈建斌《三叉戟》热血归回 豪情筑梦 高清免费看 无地区限制
一周点击热帖 更多>>
一周回复热帖
历史上的今天:回复热帖
2012: 勃朗宁手枪与佳能喷墨打印机
2012: 我们老了怎么办?
2010: 校园趣事系列