Funkcia vráti zoradené hodnoty vektora v rámci každej skupiny. Časové značky polohu vo vektore nemenia! Voliteľne podľa hodnôt zdrojového vektora usporiada aj hodnoty iného vektora.
VECTOR %GroupSort( VECTOR _values, VECTOR _groups BOOL _asc, BOOL _invalidIsMax [, VECTOR _auxValues] ) |
| _values | Zdrojové hodnoty. |
| _groups | Skupiny zdrojových hodnôt. Vektor musí mať rovnakú dĺžku ako vektor zdrojových hodnôt. |
| _asc | 0 - zostupné alebo 1 - vzostupné usporiadanie. |
| _invalidIsMax | 0 - neplatná hodnota je najmenšia alebo 1 - neplatná hodnota je najväčšia. |
| _auxValues | Lokálna premenná typu VECTOR. Hodnoty tejto premennej budú preusporiadané rovnako ako hodnoty vektora _values. |
-- usporiada hodnoty podľa veľkosti v rámci každej skupiny VECTOR _v, _g; %CreateVector(_v, 6); %CreateVector(_g, 6); _v[1] := 10; _g[1] := 1; _v[2] := 9; _g[2] := 1; _v[3] := 8; _g[3] := 1; _v[4] := 5; _g[4] := 2; _v[5] := 4; _g[5] := 2; _v[6] := 3; _g[6] := 2; -- vrati: 8, 9, 10, 3, 4, 5 _v := %Sort(_v, _g, 1, 0); RETURN _v; |