
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を探す
今、見られている記事はコレ!
-
プログラミングを学べる!?進化している子どものおもちゃについて専門家に聞いた!
プログラミングを学べるレゴブロックがあることはご存知だろうか。レゴに限らず最近のおもちゃには、プログラミングの要素がどんどん取り入れられているようだ。「教えて!goo」にも、「プログラミングを学べる子供...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列の問題
-
C# DataGridView のヘッダーセ...
-
System.IO.Directory.GetFiles...
-
VB.NETでファイル名順にファイ...
-
10個の整数を入力して小さい順...
-
C言語のCSV形式からのソート
-
100万個の整数のソート
-
listboxの並び替え
-
構造体配列のソート
-
VBA基本構文の作り方 2列の...
-
偶数奇数の判別!!
-
C# DataTable ソートについて
-
C言語・要素除去
-
qsortについて
-
csvファイル内にてソートす...
-
C++ 入力した3つのint型の整数...
-
DataGridViewの複数列を連動し...
-
構造体配列の並べ替え
-
C# DataGridViewのソート
-
javaのソートについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
C# DataGridView のヘッダーセ...
-
VBA基本構文の作り方 2列の...
-
C言語・要素除去
-
C# DataTableの行をソートしてD...
-
VB.NETでファイル名順にファイ...
-
構造体配列の並べ替え
-
あるディレクトリ内のファイル...
-
配列の問題
-
10個の整数を入力して小さい順...
-
2次元配列を複数項目でソートし...
-
構造体のリストをソートしたい。
-
DataGridViewソート時に先頭行...
-
DataGridViewのソートを止めたい
-
datagridviewの並べ替え
-
C++ 入力した3つのint型の整数...
-
DataGridViewの複数列を連動し...
-
Excelですべての組合せ(重複組...
-
C#のリストボックスで、クリッ...
-
VBScriptで重複レコードを削除...
おすすめ情報