RE: Sort

• To: mathgroup at smc.vnet.net
• Subject: [mg19179] RE: [mg19152] Sort
• From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
• Date: Tue, 10 Aug 1999 02:52:42 -0400
• Sender: owner-wri-mathgroup at wolfram.com

```Hermann Meier wrote:
------------------------
Sort is not reliable. Try the following (Mathematica Version 4):

In[1]:=
Sort[{0, -Sqrt[2], 5}]

Out[1]=
{0, 5, -Sqrt[2]}

-----------------------------

The code below should improve Sort and I know of
no cases where this modified version would mess up.
You could put this in your (init.m).

If anyone wants to know how it works let me know.

In[1]:=
HiddenSymbols`ModifySort=True;
Unprotect[Sort];
Sort[expr_]:=
Block[{HiddenSymbols`ModifySort},
Sort[expr,
If[NumericQ[#1]&&NumericQ[#2],
Re[#1]<Re[#2]||
(Re[#1]==Re[#2]&&Im[#1]>Im[#2]),
OrderedQ[{#1,#2}]
]&
]
];
Protect[Sort];

In[5]:=
Sort[{0,x,5,t,-Sqrt[2]}]

Out[5]=
{-Sqrt[2], 0, 5, t, x}

--------------------------
Notice the patch above isn't used when you provide a sorting function.

In[6]:=
Sort[{0,5,-Sqrt[2]}, (#1>#2)&]

Out[6]=
{5, 0, -Sqrt[2]}

---------------------
Regards,
Ted Ersek

```

• Prev by Date: RE: Sort
• Next by Date: Re: Equation Font
• Previous by thread: RE: Sort
• Next by thread: Re: Sort