No.2ベストアンサー
- 回答日時:
簡単なものなら
シンプルソート、バブルソート
再起呼び出しなどを使えるレベルならば
マージソート、クイックソート
これらのアルゴリズムの名前で検索をかければ
プログラム例が載っているサイトがみつかりますよ。
No.1
- 回答日時:
VBScript自体には、ソートする関数はありません。
なので、自前で実装する必要があります。
ソートして表示するのが目的ならJScriptに配列を渡してJScriptでソートすることができます。(ただしソート結果をVBScriptからは利用できません)
それなら、初めからJScriptを使うといいかもしれませんね。
とりあえず、サンプルとして作ってみました。
Sub ArraySort(a, ascending) 'ascending=0:降順,1:昇順
Dim wk, i, j, k
Dim n
n = UBound(a)
k = n \ 2
Do While (k > 0) 'シェルソート
For i = 0 To n - k
j = i
Do While (j >= 0)
If a(j) > a(j + k) Then
wk = a(j)
a(j) = a(j + k)
a(j + k) = wk
j = j - k
Else
Exit Do
End If
Loop
Next
k = k \ 2
Loop
If ascending = 0 Then '逆順にする
i = 0: j = n
Do Until (i >= j)
wk = a(i)
a(i) = a(j)
a(j) = wk
i = i + 1: j = j - 1
Loop
End If
End Sub
'テスト
Dim a, i, result
a = Array(2, 4, 21, 4, 22, 12, 3, 4)
result =""
Call ArraySort(a, 0)
For i = 0 To UBound(a)
result=result & a(i) & " "
Next
MsgBox result
a = Array("ABC", "DDE", "BCD", "FFF", "AAB", "DEEE", "DEF", "TEST")
result =""
Call ArraySort(a, 1)
For i = 0 To UBound(a)
result=result & a(i) & " "
Next
MsgBox result
--------------------------------------------------------------------
降順の場合、昇順でソートして逆順にしているので、
別に降順で初めからソートするものを作って呼び出すようにした方がいいかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Excel(エクセル) Excelの50音順ソートを全ての行列に適用するには? 4 2022/12/05 11:28
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- Java Java配列の問題を教えてください。 乱数で20個出力し、最大、最小、合計、平均を求め、更に昇順にソ 3 2023/07/10 18:32
- Excel(エクセル) 重複しているか否かをソートせずに判断する方法ありますか? 2 2022/07/06 21:16
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、写真のプログラムをどう直せ 2 2022/07/09 21:13
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- その他(プログラミング・Web制作) sortの優先キーについて(スプレッドシート) 1 2023/01/17 17:59
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- JavaScript jsonテキストデータの並び替えができるサービスを教えてください 2 2022/08/05 20:16
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
VB.NETでファイル名順にファイ...
-
ファイル名「1.jpg ~10.jpg~...
-
列のどこをクリックしてもソー...
-
DataGridViewの複数列を連動し...
-
EXCEL VBAのソートについて
-
Excel VBA テキストボックス内...
-
excel VBA の条件をつけての列...
-
C言語・要素除去
-
listboxの並び替え
-
コーディングの参考
-
Excelですべての組合せ(重複組...
-
コレクションの数値をSortで並...
-
該当のセルのみを2次元配列に入...
-
構造体配列の並べ替え
-
偶数奇数の判別!!
-
qsortについて
-
DataGridViewで選択行が変わる...
-
4番目以降の並べ替え
-
vbでDataTableの抽出コピー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
VB.NETでファイル名順にファイ...
-
C# DataGridView のヘッダーセ...
-
ファイル名「1.jpg ~10.jpg~...
-
C# DataTableの行をソートしてD...
-
あるディレクトリ内のファイル...
-
excel VBA の条件をつけての列...
-
excel VBA リストビューの行...
-
DataGridViewの複数列を連動し...
-
文字列をソートする方法
-
Excelですべての組合せ(重複組...
-
列のどこをクリックしてもソー...
-
n番目に大きい数を求めるアル...
-
Excel VBAで並べ替えをしたい
-
DataGridViewの昇順降順。
-
vbでDataTableの抽出コピー
-
数字文字列のソート方法
-
VB6でデータを昇順に並べ替える
-
VBScriptで重複レコードを削除...
-
ListViewのソートについて
おすすめ情報