2

基本的に文字列のリストをソートする必要がありますが、文字列には小文字大文字数字があります。現在、それらを並べ替えると、値aA同じ文字になるため、次のようになります。

acfgh
aztyu
Ahtwm

次のようにソートされます。

acfgh
Ahtwm
aztyu

しかし、小文字の前に大文字 (および大文字の前に数字) をランク付けして、次のようにします。

Ahtwm
acfgh
aztyu

独自のクイックソートを作成するよりも、ライブラリに既に含まれているメソッドを引き続き使用したいと思います。

4

1 に答える 1

6

車輪を再発明する必要はありません:-)

myArray という名前の文字列の配列があるとします。

Array.Sort(myArray, StringComparer.Ordinal)

トリックを行います(小文字の前に大文字、大文字の前に数字)。

例:

Dim str = String() = {"aa", "Aa", "1a", "1A"}
Array.Sort(str, StringComparer.Ordinal)

出力:

1A
1a
Aa
aa
于 2013-05-25T13:06:10.370 に答える