Sorting algorithms/Gnome sort: Difference between revisions

withdrawn for debugging
m (→‎Icon and Unicon: header simplification)
(withdrawn for debugging)
Line 1,119:
ary.gnomesort!
# => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]</lang>
 
=={{header|Scheme}}==
Translated from Erlang version.
<lang scheme>(define (gnome-sort a)
(define (gnome p n)
(cond ((null? n) p) ; no more items
((> (car n) (car p))
(if (null? (cdr p)) ; stepped back to start?
(gnome (list (car n)) (cdr n))
; step back, moving out of order item from prev list to next list
(gnome (cdr p) (cons (car n)
(cons (car p)
(cdr n))))))
(else ; step forward, moving item from next to prev list
(gnome (cons (car n) p) (cdr n)))))
(gnome (list (car a)) (cdr a)))
 
(display (gnome-sort '(98 36 2 78 5 81 32 90 73 21 94 28 53 25 10 99)))
(newline)</lang>
<lang scheme>$ csi gnome-sort.scm
 
CHICKEN
(c)2008 The Chicken Team
(c)2000-2007 Felix L. Winkelmann
Version 3.3.0 - linux-unix-gnu-x86 [ manyargs dload ptables applyhook hostpcre ]
SVN rev. 11106 compiled 2010-08-08 on deepthought (Linux)
 
; loading gnome-sort.scm ...
(2 5 10 21 25 28 32 36 53 73 78 81 90 94 99)
#;1> </lang>
 
=={{header|Smalltalk}}==
Anonymous user