16 int a_val = *((
int*)a);
17 int b_val = *((
int*)b);
21 }
else if (a_val > b_val) {
32 double a_val = *((
double*)a);
33 double b_val = *((
double*)b);
37 }
else if (a_val > b_val) {
61 data_perm = (
int*)malloc(
sizeof(
int) * 2 * n);
62 for (i = 0; i < n; i++) {
63 data_perm[2 * i] = data[i];
64 data_perm[2 * i + 1] = i + 1;
67 for (i = 0; i < n; i++) {
68 data[i] = data_perm[2 * i];
69 perm[i] = data_perm[2 * i + 1];
79 data_perm = (
double*)malloc(
sizeof(
double) * 2 * n);
80 for (i = 0; i < n; i++) {
81 data_perm[2 * i] = data[i];
82 data_perm[2 * i + 1] = i + 1;
85 for (i = 0; i < n; i++) {
86 data[i] = data_perm[2 * i];
87 perm[i] = (int) data_perm[2 * i + 1];