- 構文
- hashValueSort( Var hash[] )
- 引数
- hash
- 値でソートする連想配列(参照引数)
- 戻値
プログラム
//////////////////////////////////////////////////
// 【引数】
// hash : 値でソートする連想配列(参照引数)
// 【戻値】
//
//////////////////////////////////////////////////
PROCEDURE hashValueSort(Var hash[])
HASHTBL tmp = HASH_SORT
DIM cnt = LENGTH(hash)
hashInvert(hash)
FOR n = 0 TO cnt - 1
tmp[hash[n, HASH_KEY]] = hash[n, HASH_VAL]
NEXT
hash = HASH_REMOVEALL
FOR n = 0 TO cnt - 1
hash[tmp[n, HASH_VAL]] = tmp[n, HASH_KEY]
NEXT
FEND
//////////////////////////////////////////////////
// 【引数】
// hash : キーと値を入れ替える連想配列(参照引数)
// 【戻値】
//
//////////////////////////////////////////////////
PROCEDURE hashInvert(Var hash[])
HASHTBL tmp
DIM cnt = LENGTH(hash)
FOR n = 0 TO cnt - 1
tmp[hash[n, HASH_VAL]] = hash[n, HASH_KEY]
NEXT
hash = HASH_REMOVEALL
FOR n = 0 TO cnt - 1
hash[tmp[n, HASH_KEY]] = tmp[n, HASH_VAL]
NEXT
FEND