示例:
Vars
Array<Numeric> arr;
Array<Integer> id;
Events
OnBar(ArrayRef<Integer> indexs)
{
arr = [21,22,23,24,25,96,97,28,29,30,31];
id = [0,33,12,3,11,88,66,33,8,9,39];
Commentary(\"未排序 id=\" + TextArray(id) + \",arr=\" + TextArray(arr));
Na1Sort(arr, id, 4, 7, False);
Commentary(\"降序排序后 id=\" + TextArray(id) + \",arr=\" + TextArray(arr));
}
输出:
未排序 id=[0,33,12,3,11,88,66,33,8,9,39],arr=[21,22,23,24,25,96,97,28,29,30,31]降序排序后 id=[0,33,12,3,66,88,33,11,8,9,39],arr=[21,22,23,24,97,96,28,25,29,30,31]
一维数组的下标,就是数组的索引值,引用时用arr[i] 就是下标引用,而ID是什么概念,与下标有什么不同,数组的ID是怎么存储的,如何引用,arr[id] 吗,
另外看到一个示例中说 ID是新排序后的原下标索引值, 下标是新排序后的新索引值,就是因为排序才有这两个概念吗,那是否意鼓掌着不经排序的数组下标下标和ID相同呢
id = [0,33,12,3,11,88,66,33,8,9,39];
你为啥要用这么奇怪的内容
id就是序号,序号难道不是从0开始逐渐加一吗
这个id就是原数组的顺序,对原数组进行排序以后,同样也会对id序号数组进行位置变换,这样你就知道原来的元素位置现在排到哪里去了
比如[9,7,8]数组对应序号数组[0,1,2],排序完变成[7,8,9],对应序号数组也进行位置变换变成了[1,2,0].
这个序号数组的第一个元素1,表示之前排第2的元素7,现在排在了第1个位置了