2次元配列のソート


初心者28号  2005-03-01 22:23:18  No: 88626

2次元配列をソートしたいのですが、ただ単にするわけではなくDim dat(9, 1)  As Longで宣言するとして、右辺の0にはX座標1にはY座標が入っているので
この関係をくづさずY座標をもとにソートした後にX座標をもとにソート
を一括でする場合はどのようにすればよいのでしょうか?


Say  2005-03-01 22:31:02  No: 88627

ソートできればいいのなら、
オンメモリレコードセットに放り込むとか、
両座標を連結してListBoxあたりに放り込むとか。


じゃんぬねっと  URL  2005-03-01 22:56:10  No: 88628

クロスサイトポスト。
http://www.gizshare.com/vbtomo/boards/vbchoshoqa.php?do=spread&num=4152


ねろ  2005-03-02 01:27:50  No: 88629

List1をフォームに貼り付けて、SortedプロパティをTrueにして
    Dim b() As String
    For i = 0 To UBound(data)
        List1.AddItem Format(data(i, 0), "0000000000") & " " _
            & Format(data(i, 1), "0000000000")
    Next
    For i = 0 To List1.ListCount - 1
        b = Split(List1.List(i))
        data(i, 0) = Val(b(0)): data(i, 1) = Val(b(1))
        'Debug.Print data(i, 0) & " " & data(i, 1)
    Next
こんなかんじかな。
文字列でソートする場合は右詰めで0をパディングします。
マイナスがある場合は、最小値が0になるようにオフセットを
つけて、ソートした後に、再びオフセット分引きます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加