       Re: Sorting of pairs

• To: mathgroup at yoda.physics.unc.edu
• Subject: Re: Sorting of pairs
• From: John Lee <lee at math.washington.edu>
• Date: Fri, 7 Aug 92 08:30:31 -0700

```Riccardo Rigon <RIGON at iveuncc.bitnet> writes:

> Dear mathgroupers, I have a list of pairs:
> list={{2,3},{4,5},{1,3},{3,8},{4,4}}
> and I want to order them with this rule:
> rule[a_List,b_List]:=a/;(a[]< b[] || ( a[]==b[] && a[]<b[]))
> rule[a_List,b_List]:=b
> The way to do this should be:

> Sort[list,rule]
> Sort[list,rule[#1,#2]&]
> but no one of the two methods works.
> Does anybody knows the reason?

First of all, the second argument to Sort is supposed to be a True/False
function:  it must return True if the first argument should come earlier in
the sort, and False otherwise.  So your two definitions for rule should be
replaced by:

rule[a_List,b_List]:=(a[]< b[] ||
(a[]==b[] && a[]<b[]))

However, this is just Mathematica's usual ordering rule for lists, so the
result will be the same if you simply use Sort[list].

Jack Lee
Dept. of Mathematics
University of Washington
Seattle, WA

```

• Prev by Date: Re: Dot[]->1
• Next by Date: Re: Dot[]->1
• Previous by thread: Re: Sorting of pairs
• Next by thread: Re: Dot[]->1