Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 方案中的排序过程_Sorting_Search_Scheme_Procedure - Fatal编程技术网

Sorting 方案中的排序过程

Sorting 方案中的排序过程,sorting,search,scheme,procedure,Sorting,Search,Scheme,Procedure,我怎样才能在scheme中编写自己的排序过程,它接受一个过程并根据该过程对其进行排序 如果可以,程序是什么 示例-(sort'(24953)>)产生(95432) 任何人都可以提出一个在第二个列表中搜索一个列表的每个元素的过程 这很简单。您只需为保存谓词的变量指定一个名称,并实现您喜欢的排序策略 ;; implements a 2 element sort (define (my-sort2 lst <) (let ((fst (car lst)) (snd (cadr lst)))

我怎样才能在scheme中编写自己的排序过程,它接受一个过程并根据该过程对其进行排序

如果可以,程序是什么

示例-(sort'(24953)>)产生(95432)


任何人都可以提出一个在第二个列表中搜索一个列表的每个元素的过程

这很简单。您只需为保存谓词的变量指定一个名称,并实现您喜欢的排序策略

;; implements a 2 element sort
(define (my-sort2 lst <)
  (let ((fst (car lst)) (snd (cadr lst)))
    (if (< snd fst)
        (list snd fst)
        lst ))) ; already in correct order

(sort '(1 2) >) ; ==> (2 1)
(sort '(1 2) <) ; ==> (1 2)
;;实现2元素排序

(define(my-sort2 lst)当然,使用快速排序,很容易以函数式编程风格实现。