[OpenSIPS-Users] Sorting Lists of Data
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Fri May 14 10:38:39 CEST 2010
Hi Brett,
There is no such builtin functionality - what we have is for weight-base
selection (see
http://www.opensips.org/html/docs/modules/1.6.x/cfgutils.html#id228612).
What I can suggest (as a fast solution) is to implement a bubble-sort
algh in the script:
$var(changed) = 1;
while ( $var(changed)==1 ) {
$var(i) = 0;
$var(changed) = 0;
while ( $(avp(s:price)[$var(i)+1])!=NULL ) {
if ( $(avp(s:price)[$var(i)]) > $(avp(s:price)[$var(i)+1]) )
$var(tmp) = $(avp(s:price)[$var(i)+1]);
$(avp(s:price)[$var(i)+1]) = $(avp(s:price)[$var(i)]) ;
$(avp(s:price)[$var(i)]) = $var(tmp);
$var(changed) = 1;
}
$var(i) = $var(i) + 1;
}
}
haven't tried that so far :P
Regards,
Bogdan
Brett Nemeroff wrote:
> Hello All,
> I'm looking to numerically sort data.. Basically what I need is an
> array with numerical data values to be sorted (yes, for pricing)
>
>
> $avp(s:price)[0]=0.0125
> $avp(s:price)[1]=0.0138
> $avp(s:price)[2]=0.0128
> $avp(s:price)[3]=0.0112
> $avp(s:price)[4]=0.0005
> $avp(s:price)[5]=0.0149
>
>
> And I'd like to....
>
> <magic>
> $avp(s:price_sorted) = avp_sort("$avp(s:price)");
> </magic>
>
> Is that possible with.. anything? It doesn't need to be an AVP.. just
> looking for any sortable data structure.
>
> Thanks,
> Brett
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
--
Bogdan-Andrei Iancu
www.voice-system.ro
More information about the Users
mailing list