scheme - Sorting three numbers in ascending order -


i got home yesterday , decided try , write scheme program sort 3 numbers in ascending order. came with:

(define 3) (define b 2) (define c 1)  (define temp 0)  (cond     ( (> c) (set! temp c) (set! c a) (set! temp))     ( (> b c) (set! temp c) (set! c b) (set! b temp))     ( (> b) (set! temp b) (set! b a) (set! temp))     ( (> b c) (set! temp c) (set! b c) (set! b temp)) )  (display a) (display b) (display c) 

is functional way of solving problem? suggest?

scheme has builtin sort function faster in cases sort alorithms use.

(sort < '(5 2 6)) 

returns

'(2 5 6) 

the main problem see procedure you're running swap once. that's great if can guarantee 1 in middle of other two, i'm not sure case. set! kinda ugly , when learned scheme professor told me not use because resource intensive , there better ways it. recommend putting them in list , sorting them , pulling them out of list if want way.


Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -