It's probably worth noting here that (for example) the quicksort
algorithm relies on being able to tell whether items are equal. And a
0 1 result can't distinguish between ordering and equality. Many
sorting implementations rely on a _1, 0, 1 result, as a consequence.

That said, you could implement a sorting algorithm like bubble sort
using a 0/1 result, and that could be a verb. (Also... rosettacode.org
is currently down, due to a name server issue, but when it is up it
has a decent collection of sorting algorithms implemented in J, and I
think some of them could also be pressed into service here).

Meanwhile, for aoc2023 day 7, the part 1 hand ranker could have been
{{ (\:~ #/.~ y),'23456789TJQKA' i. y }}"1 (part 2 was slightly more
complicated and of course migrated the 'J' to the first element of
that character list.

I hope this helps,

-- 
Raul

On Thu, Dec 21, 2023 at 9:03 AM 'Viktor Grigorov' via Programming
<programm...@jsoftware.com> wrote:
>
> Hey,
>
> Is there an easy way to sort an array with verb  returning either 0 or 1, 
> like the comparison primitives?
>
> The verb that I'd in mind relates to the 2023's advent of code's day 7: given 
> two equal length hands, which one has the first high card. Which one can 
> write as:
>
>    'K2345' ( 2 | 0 { [: I. [: , [: (<,.>)/ ,: & ('23456789TJQKA'i.]) ) 'KJ2KA'
> 0 NB. here meaning left is not greater right
>
> Cheers,
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to