此主题相关图片如下:问问题.png
在帮助文档的:开发指南
->编程基础
->数组,最后部分给了个例子,是用
Sort对两个数组进行联动排序,如下:
Dim
nms()
As
String
= {"A","B","C"}
'学生姓名
Dim
vals()
As
Integer
= {8,
6,
7}
'对应分数
Array.Sort(vals,
nms)
'第一个数组为排序数组,第二个数组跟随第一个数组排序
Output.Show(nms(0)
&
"="
&
vals(0))
Output.Show(nms(1)
&
"="
&
vals(1))
Output.Show(nms(2)
&
"="
&
vals(2))
我对nums改动了一下,我跑代码时,设定nms()=
{"B",
"C", "D", "A"}即
Dim
nms()
As
String
= {"A","B","C"
,”D”}
'学生姓名
? ? ? //只在这里加了个D,其余没动。
Dim
vals()
As
Integer
= {8,
6,
7}
'对应分数
Array.Sort(vals,
nms)
'第一个数组为排序数组,第二个数组跟随第一个数组排序
Output.Show(nms(0)
&
"="
&
vals(0))
Output.Show(nms(1)
&
"="
&
vals(1))
Output.Show(nms(2)
&
"="
&
vals(2))
输出结果如下:
C=6
D=7
B=8
问题:
1.Sort函数的说明页面里并没有对“多序列排序”进行解释。
请问,Sort进行两数组联排时发生了什么?排序规则是啥啊?
2.排序的代码是:Array.Sort(vals,
nms)
vals和nms都写在了括号里,为什么排序是按vals的顺序排序,而不是以nms的排序顺序为基准呢?