Ordering a list of integers
ClearAll[f]
f = ReverseSortBy[Minus @* Abs] @* DeleteCases[0]
f @ n
{1, 3, -3, -3, 10, 12}
Try this:
In[21]:= n = (Sort[{0, 1, -3, 3, -3, 0, 12, 10, 0} /.
x_ /; x == 0 -> Nothing, Abs[#1] < Abs[#2] &])
(* Out[21]= {1, -3, 3, -3, 10, 12} *)
Then
In[23]:= Sort[n, If[Abs[#1] == Abs[#2], #1 > #2] &]
(* Out[23]= {1, 3, -3, -3, 10, 12} *)
Have fun!