2013-02-19 94 views
0

我有一個循環,並在此循環中每當我得到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) 

這3個實際上是一個容器在不同堆棧中位置的座標,我想知道哪一個更靠近表面,並且更接近堆棧。因此,我將它們添加到一個數組,然後我將它們進行排序,以便我能找到哪一個更接近(前提是所有的這些都爲同一類型的容器,位於不同地點的比賽)

回答

0

只需使用方法.Sort()。它將使用由Array的每個元素實現的IComparable接口。如果您不指定自定義比較器,則它將使用默認值,這對於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