Sorting algorithms/Insertion sort: Difference between revisions
Sorting algorithms/Insertion sort (view source)
Revision as of 20:12, 6 September 2021
, 2 years ago→{{header|Kotlin}}
m (→{{header|AppleScript}}: Tidied.) |
|||
Line 2,410:
<pre>Unsorted: [5, 2, 3, 17, 12, 1, 8, 3, 4, 9, 7]
Sorted: [1, 2, 3, 3, 4, 5, 7, 8, 9, 12, 17]</pre>
=={{header|Ksh}}==
<lang ksh>#!/bin/ksh
# An insertion sort in ksh
# # Variables:
#
typeset -a arr=( 4 65 2 -31 0 99 2 83 782 1 )
# # Functions:
#
# # Function _insertionSort(array) - Insersion sort of array of integers
#
function _insertionSort {
typeset _arr ; nameref _arr="$1"
typeset _i _j _val ; integer _i _j _val
for (( _i=1; _i<${#_arr[*]}; _i++ )); do
_val=${_arr[_i]}
(( _j = _i - 1 ))
while (( _j>=0 && _arr[_j]>_val )); do
_arr[_j+1]=${_arr[_j]}
(( _j-- ))
done
_arr[_j+1]=${_val}
done
}
######
# main #
######
_insertionSort arr
printf "%s" "( "
for (( i=0; i<${#arr[*]}; i++ )); do
printf "%d " ${arr[i]}
done
printf "%s\n" " )"</lang>
{{out}}
( -31 0 1 2 2 4 65 83 99 782 )
=={{header|Lambdatalk}}==
|