简单的方法来排序,在瓦拉默认阵列

问题描述 投票:1回答:1

我试了一下这样的,但它不工作。我认为这太复杂了一种数组排序。我需要的C#像System.Array.Sort()

int[] data = { 3, 9, 2, 7, 5 };
var arr = new Array<int> ();
arr.append_vals (data,data.length);

arr.sort((a, b) => {
    return (int) (a > b) - (int) (a < b);
});

for (int i=0;i<arr.length;i++) {
    print(@"$(arr.index(i))\t");
}

也试过了,阵列仍然没有排序。

using Posix;
int cmpfunc(ref int a, ref int b) {
    return (int) (a > b) - (int) (a < b);
}
void main() {
    int[] data = { 3, 9, 2, 7, 5 };

    Posix.qsort (data, data.length, sizeof(string), (Posix.compar_fn_t) cmpfunc);
    foreach (int st in data) {
        print(@"$st\t");
    }

}
sorting vala
1个回答
2
投票

Posix.qsort功能需要知道的阵列,每个sizeof(int)元素的大小,但你给它一个不同类型的大小,sizeof(string)

© www.soinside.com 2019 - 2024. All rights reserved.