对数组(或列表)进行排序

时间:2013-02-19 23:17:48

标签: arrays vb.net sorting

每次我得到3个不同的值x,r和c时,我都有一个循环并在此循环中。

我想要一个数组(我已经尝试过使用一个列表,但我不知道如何对它进行排序,搜索了很多!)这将在循环的每一轮中输入所有3个值的新自动索引数组,最后我想根据升序值(x,然后是r,然后是c)对整个数组进行排序。

例如,这些是我添加的数组中的值(我不需要此数组的值,这些值(1,2,3)是值,类似于表)

storage(1,2,3)
storage(2,3,4)
storage(3,4,5)
storage(4,5,6)

这三个实际上是不同堆栈中容器位置的坐标,我想知道哪一个更接近表面,并且更接近堆栈。因此我将它们添加到一个数组中,然后我将它们排序,以便我可以找到哪一个更接近(假设所有这些都是相同类型容器的匹配,位于不同的地方)

1 个答案:

答案 0 :(得分:0)

只需使用.Sort()方法即可。它将使用IComparable的每个元素实现的Array接口。如果您没有指定自定义比较器,它将使用默认值,这对于Integer值是可以的。

阵列:

Dim iNums() As Integer = New Integer() {1, 11, 7, 5}
Array.Sort(iNums)

列表:

Dim aux As New List(Of Integer)(New Integer() {1, 11, 7, 5})
aux.Sort()

如果您需要,您可以定义自己的比较器:
http://msdn.microsoft.com/en-us/library/system.icomparable(v=vs.71).aspx