Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sub insertion-sort(@list is rw) {
- for 1 ..^ @list.elems -> $i {
- PRE { [<=] @list[ 0..^$i ] }
- my $value = @list[$i];
- my $j = $i - 1;
- while $j >= 0 && @list[$j] > $value {
- PRE { all(@list[$j..$i]) >= $value }
- @list[ $j + 1 ] = @list[$j];
- --$j;
- }
- @list[ $j + 1 ] = $value;
- }
- @list
- }
- say insertion-sort( [ 4, 1, 5, 3, 2 ] ).perl;
Add Comment
Please, Sign In to add comment