Funkcia %GroupSort


Popis

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.

Deklarácia
VECTOR %GroupSort(
	VECTOR		_values,
	VECTOR		_groups
	BOOL		_asc,
	BOOL		_invalidIsMax
	[, VECTOR   _auxValues]
)
Parametre
_valuesZdrojové hodnoty.
_groupsSkupiny zdrojových hodnôt. Vektor musí mať rovnakú dĺžku ako vektor zdrojových hodnôt.
_asc0 - zostupné alebo 1 - vzostupné usporiadanie.
_invalidIsMax0 - 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

Príklad
-- 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;

Súvisiace stránky:

Napíšte komentár