Grade up: Difference between revisions

From The K Language Wiki
Content added Content deleted
No edit summary
(add stable sort desc)
Line 3: Line 3:


Since grading is not the same as sorting, a general idiom used to sort arrays is <code>{x(<x)}</code> or other equivalent.
Since grading is not the same as sorting, a general idiom used to sort arrays is <code>{x(<x)}</code> or other equivalent.

Grade primitives generally use a [https://en.wikipedia.org/wiki/Category:Stable_sorts stable sort], which means that an ascending grade may not always be the inverse of a descending grade.


For numeric arrays:
For numeric arrays:

Revision as of 05:39, 11 July 2021

Grade up
<x

The grade up primitive is used to get the indices of an array that would sort it in ascending order.

Since grading is not the same as sorting, a general idiom used to sort arrays is {x(<x)} or other equivalent.

Grade primitives generally use a stable sort, which means that an ascending grade may not always be the inverse of a descending grade.

For numeric arrays:

 <34 -1 0 67 32767
1 2 0 3 4

Grading of string arrays largely depends upon the implementation.

For ngn/k(K6), groups by length and sorts each individual group:

 {x(<x)}("xyz";"a";"k";"j";"apl";"bqn")
("apl"
 "bqn"
 "xyz"
 "a"
 "j"
 "k")