in reply to Re: Recursion Alternatives?
in thread Recursion Alternatives?
sub merge { my ($f, $s, @r) = @_; push @r => shift @{$$f [0] < $$s [0] ? $f : $s} while @$f && @ +$s; (@r, @$f, @$s); } sub merge_sort; sub merge_sort { @_ <= 1 ? @_ : merge [merge_sort @_ [0 .. @_ / 2 - 1]], [merge_sort @_ [@_ / 2 .. $#_]] }
The recursive solution is elegant, and just 10 lines. I don't really want to think about the iterative solution.
Abigail
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Recursion Alternatives?
by BrowserUk (Patriarch) on Feb 27, 2003 at 11:07 UTC | |
by Abigail-II (Bishop) on Feb 27, 2003 at 11:08 UTC | |
by BrowserUk (Patriarch) on Feb 27, 2003 at 11:14 UTC | |
by Abigail-II (Bishop) on Feb 27, 2003 at 11:18 UTC |