Sorting algorithms/Selection sort: Difference between revisions

Content deleted Content added
copied ML from wikibooks http://en.wikibooks.org/wiki/Algorithm_implementation/Sorting/Selection_sort#ML; added ocaml, haskell
add Tcl
Line 330:
select_r first (lst, [])
end</lang>
 
=={{header|Tcl}}==
<lang tcl>package require Tcl 8.5
 
proc selectionsort {m} {
set len [llength $m]
for {set i 0} {$i < $len - 1} {incr i} {
unset -nocomplain least
set least_idx [expr {$i + 1}]
for {set j [expr {$i + 1}]} {$j < $len} {incr j} {
if {(! [info exists least]) || [lindex $m $j] < $least} {
set least [lindex $m $j]
set least_idx $j
}
}
set temp [lindex $m $i]
lset m $i [lindex $m $least_idx]
lset m $least_idx $temp
}
}
 
puts [selectionsort {8 6 4 2 1 3 5 7 9}] ;# => 1 2 3 4 5 6 7 8 9</lang>