• 締切済み

VB6 任意の順番でのソート

現在VB6の勉強をしております。 Public Type udtMenberData name As String '名前 kana As String '読み仮名 tel As String '電話番号 End Type Public udtArrayMember() As udtMenberData 'データ保持用配列 上記のような配列に、ファイルから読み込んだデータが格納されております。 これを、電話番号でソートしたいのですが、文字コード順ではなく、 「'*' < '#' < '0' < ... < '9' 」 という順番でソートしたいのです。(上記以外の文字は入力されないです。) クイックソートで実現させたいのですが、方法が分かりません・・・。 ヒントや実装方法だけでも教えていただけませんでしょうか? 以上、よろしくお願いいたします。

みんなの回答

noname#111860
noname#111860
回答No.1

頭を使わないやり方で 多少泥臭いやり方かも知れません データを取得して、"#"を"@"にReplace 通常の方法でクイックソート "@"を"#"にReplace な~んて方法ダメですよね。 #でも、結果全てなので、自分ならそうやっちゃいますが

ya-cha
質問者

お礼

ご回答ありがとうございました。 遅くなり申し訳ございません。 クイックソートで、比較関数を自作しました。 文字が「#」と「*」の場合に比較せずに強制的に並び替えるようにしたら、うまくいきました♪

関連するQ&A

専門家に質問してみよう