A..4 Ordering[] リストの要素から大きいもの小さいもの を取り出す

Ordering[a] で、 a の要素を小さい順に並べた場合の、要素のもとの位置からなるリス トを返す。 例えば、 b=a[[Ordering[a]]] とすると、 ba を小さい順に並べたリストとなる (もちろん、そうするためだけならば、b=Sort[a] とするのが簡単である)。

Ordering[a,n] で、 n が正整数のときは、 a の要素の小さい順に n 番目までの要素の位置からなるリスト、 n が負整数のときは、 a の要素の大きい順に n 番目までの要素の位置からなるリスト を返す。 例えば、a 最小要素の位置は Orderine[a,1][[1]], 最大要素の位置は Ordering[a,-1][[1]] で求められる。

遊び半分、色々な関数の紹介を兼ねて: a を大きい順に並べるには、 Sort[a, Greater], Reverse[Sort[a]], a[[Ordering[a,-Length[a]]]] などなど色々やり方がある。


リストの最大要素と、それがどこにあるかを返す関数。
maxAndIndex[l_] := Module[{id = Ordering[l, -1][[1]]}, {l[[id]], id}]



桂田 祐史