You are not logged in.
Pages: 1
Hi all,
this code sort the 2D array by first column:
//array_sort(input,output,rows,columns,ascending)
// Created by NicharCZ
//
var a, b, c, d, e, n, m, z;
a=argument0;
b=argument1;
n=argument2;
m=argument3;
_list=ds_list_create();
for (i=0; i<n; i+=1) {
_temp[i]="";
z=0;
repeat (m) {
_temp[i]+=string(variable_local_array2_get(a,i,z))+"|";
z+=1;
}
_temp[i]=string_delete(_temp[i],string_length(_temp[i]),1);
ds_list_add(_list, _temp[i]);
}
ds_list_sort(_list,argument4);
for (i=0; i<n; i+=1) {
_temp[i]=ds_list_find_value(_list,i);
c = string(_temp[i]) + "|";
e=0;
repeat (string_count("|",c)) {
f = string_pos("|",c)-1;
variable_local_array2_set(b,i,e,string_copy(c,1,f));
c = string_delete(c,1,f+1);
e+=1;
}
}
ds_list_destroy(_list);
Input:
data[0,0]="3:15:47" data[0,1]="Paul Rayon" data[0,2]="LDD" data[0,3]=1
data[1,0]="3:10:58" data[1,1]="Raoul Puyerredon" data[1,2]="NCS" data[1,3]=2
data[2,0]="3:14:29" data[2,1]="Fabian Hoffnung" data[2,2]="LDD" data[2,3]=3
data[3,0]="3:13:35" data[3,1]="Georgios Lalaounis" data[3,2]="NCS" data[3,3]=4
data[4,0]="3:11:34" data[4,1]="Andre Verge" data[4,2]="LDD" data[4,3]=5
data[5,0]="3:15:48" data[5,1]="Manuel Rapidas" data[5,2]="NCS" data[5,3]=6
Output:
data[0,0]="3:10:58" data[0,1]="Raoul Puyerredon" data[0,2]="NCS" data[0,3]=2
data[1,0]="3:11:34" data[1,1]="Andre Verge" data[1,2]="LDD" data[1,3]=5
data[2,0]="3:13:35" data[2,1]="Georgios Lalaounis" data[2,2]="NCS" data[2,3]=4
data[3,0]="3:14:29" data[3,1]="Fabian Hoffnung" data[3,2]="LDD" data[3,3]=3
data[4,0]="3:15:47" data[4,1]="Paul Rayon" data[4,2]="LDD" data[4,3]=1
data[5,0]="3:15:48" data[5,1]="Manuel Rapidas" data[5,2]="NCS" data[5,3]=6
Offline
Pages: 1