[リストへもどる]
一括表示

投稿時間:2003/02/24(Mon) 15:08
投稿者名:たたみ
Eメール:hitomi_n_1204@hotmail.com
URL :
タイトル:
2次元配列のソートについて
たびたび、すいません。
2次元配列で1次元目の添え字でソートを行いたい場合、
どのようにしたらよいでしょうか?
ADOで、論理テーブルに一度配列データをセットして、
ソートをかけてから、配列に入れなおす方法があると
きいたことがあるのですが、そのロジック、また、それ以外の
方法がありましたら、お教え願いますでしょうか?

投稿時間:2003/02/24(Mon) 16:54
投稿者名:A221
Eメール:
URL :
タイトル:
Re: 2次元配列のソートについて
> 2次元配列で1次元目の添え字でソートを行いたい場合、

基本的には1次配列のソートと同じです。
ソートのルーチンは下記のサンプルが良いと思います。
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_t06.htm

> ADOで、論理テーブルに一度配列データをセットして、
> ソートをかけてから、配列に入れなおす方法があると

やり方はいろいろとあります。
Listboxに入れてソートする方法などもありますが、まず、基本を抑えてからの方が良いと考えます。

インターネットで「VB ソート」で検索してみることをお勧めします。

投稿時間:2003/02/24(Mon) 17:00
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: 2次元配列のソートについて
ここの逆引きヘルプにも色々揃っております。

[ソート法いろいろ(ゆう(U)さん投稿による)] 

投稿時間:2003/02/25(Tue) 09:32
投稿者名:たたみ
Eメール:hitomi_n_1204@hotmail.com
URL :
タイトル:
Re^2: 2次元配列のソートについて
ちょっと、私には複雑そうですが、やってみます!!
ありがとうございました!!

投稿時間:2003/02/25(Tue) 10:00
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: バブルソート例
一番単純なバブルソートを使ったソート例です。

Private Sub Command1_Click()
    Dim dat(14, 2)  As Long
    Dim i       As Long
    Dim j       As Long
    Text1.Text = ""
    For i = 0& To 14
        dat(i, 0) = CLng(99 * Rnd)    'ランダムなデータを作成
        Text1.Text = Text1.Text & dat(i, 0) & vbCrLf
    Next i
    'バブルソート
    For i = 0& To 14
        For j = i To 14
            If dat(i, 0) > dat(j, 0) Then   '逆にすれば降順並びに
                Swap dat(i, 0), dat(j, 0)
            End If
        Next j
    Next i
    Text2.Text = ""
    'ソート結果を表示
    For i = 0& To 14
        Text2.Text = Text2.Text & dat(i, 0) & vbCrLf
    Next i
End Sub