0

ループがあり、このループで x、r、c の 3 つの異なる値を取得するたびに。

配列が必要です (リストを使用してみましたが、並べ替えの方法がわからず、たくさん検索しました!) 配列の新しい自動インデックスにループの各ラウンドで 3 つの値すべてを入力します。最後に、昇順の値 (x、r、c) に基づいてこの配列全体を並べ替えます。

たとえば、これらは追加される配列の値です (この配列の値は必要ありません。これらの値 (1,2,3) は値であり、テーブルのようなものです)

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

これらの 3 つは、実際には異なるスタック内のコンテナーの位置の座標であり、どちらが表面に近く、より近いスタック内にあるかを調べたいと考えています。したがって、それらを配列に追加し、それらを並べ替えて、どちらが近いかを見つけます (これらすべてが、異なる場所にある同じタイプのコンテナーに一致する場合)。

4

1 に答える 1

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

于 2013-02-20T08:33:25.213 に答える