ARS. - Array Operations

<< Click to Display Table of Contents >>

Navigation:  3. Script Language > Arrays and Data-Structures > ARS. - Array's > !ARS. - Array Sorting >

ARS. - Array Operations

ARS.SortByTag

Previous Top Next


MiniRobotLanguage (MRL)

 

ARS.SortByTag

Sorts an array according to the numbers in a tag array.

 

Intention

 

The ARS.SortByTag command reorders an array ($$ARR) based on the ascending order of a numeric tag array ($$TAG),

which must contain Integer or FP values. The $$TAG array remains unchanged, serving as a guide for sorting $$ARR, which can be Integer, FP, or String.

 

Illustration:

📦 Before Sort:
$$TAG: [3, 1, 2]
$$ARR: [C, A, B]
🔄 After Sort:
$$TAG: [3, 1, 2]
$$ARR: [A, B, C]

 

Syntax

 

ARS.SortByTag|$$TAG|$$ARR

 

Parameter Explanation

 

P1 - $$TAG - (Variable)

The handle of the numeric tag array (Integer or FP) that dictates the sort order.

P2 - $$ARR - (Variable)

The handle of the array to be sorted (Integer, FP, or String).

 

Example

 

'***********************************

' ARS.SortByTag - Sample 1

'***********************************

ARS.New|$$TAG|i

ARS.New|$$ARR|s

ARS.Add|$$TAG|3

ARS.Add|$$TAG|1

ARS.Add|$$TAG|2

ARS.Add|$$ARR|C

ARS.Add|$$ARR|A

ARS.Add|$$ARR|B

ARS.SortByTag|$$TAG|$$ARR

DBP.Sorted $$ARR: [A, B, C], $$TAG unchanged: [3, 1, 2]

ARS.End|$$TAG

ARS.End|$$ARR

'

 

Remarks

- $$TAG must contain numeric values (Integer or FP).

- Use ARS.Reverse on $$ARR for reverse order post-sort.

 

Limitations:

- $$TAG and $$ARR must be the same size.

 

See also:

ARS.New

ARS.Add

ARS.Reverse