sorted
OPL keyword for ascending sort order
Purpose
OPL keyword to specify the ascending order for sets.
context |
---|
Model files (.mod) |
Syntax
SetTypeModifier: "ordered" | "sorted" | "reversed"
Description
Specify the sorted
keyword
before a set to indicate that its number or string elements appear
in ascending natural, lexicographic order. To specify the descending
order, use the keyword reversed.
In sets of tuples, all the keys are used as sort criteria.
By default, if you do not specify the sorted
or reversed
keyword, the set is ordered, that is, its elements are considered in their order of creation.
See Sorted and ordered sets for more information on the different types of sets in OPL.
Note:
Do not confuse the implicit ordered property of sets with ordered index pairs. See the keyword “ordered”.
Example
tuple Precedence { int a; string b; };
ordered {int} setInt = { 1,7,2};
ordered {Precedence} precedences = { <2,"two">,<1,"One">};
sorted {int} setInt2 = { 1,7,2};
sorted {Precedence} precedences2 = { <2,"two">,<1,"One">};
reversed {int} setInt3;
execute
{
setInt3.add(1);
setInt3.add(7);
setInt3.add(2);
}
reversed {Precedence} precedences3;
execute
{
precedences3.add(2,"two");
precedences3.add(1,"one");
}
execute
{
writeln(setInt);
writeln(precedences);
writeln(setInt2);
writeln(precedences2);
writeln(setInt3);
writeln(precedences3);
}
Result
{1 7 2}
{<2 "two"> <1 "One">}
{1 2 7}
{<1 "One"> <2 "two">}
{7 2 1}
{<2 "two"> <1 "One">}