1
に2つの値に基づいて選手を並べ替える方法1人または複数のプレイヤーが同じスコアを持っていても、前のランクが最も低いプレイヤーが最初に表示されるように並べ替えるのが好きです。</p> <p>私は希望...そこスコアに基づいて分類し、私は私が管理している二つの値(スコアと前回の順位)に基づいて選手を並べ替えしたいと思います私のプログラムではVBScriptの
dim mPlayer(30)
Class Player
dim score
dim name
dim lowestRank
End Class
dim sorted, i
dim tempPlayer
Set tempPlayer = New Player
sorted = False
Do Until sorted
sorted = True
For i = 0 To mNumPlayers - 2
If (mPlayer(i + 1).score > mPlayer(i).score) Then
' swap
sorted = False
Call CopytempPlayerData(tempPlayer, mPlayer(i))
Call CopytempPlayerData(mPlayer(i), mPlayer(i + 1))
Call CopytempPlayerData(mPlayer(i + 1), tempPlayer)
End If
Next
Loop
Set temptempPlayer = Nothing
lstPlayers.Clear()
For i = 0 To mPlayer - 1
lstPlayers.Items.add(mPlayer(i).name)
Next
は 'によってソートしてみ100000 * mPlayer(i).score±mPlayer(i).lowestRank'では、むしろ 'mPlayer(i).score'の代わりにsubst最大の「スコア」値を有するitute「100000」。しかし、[Sorting Algorithms](http://rosettacode.org/wiki/Category:Sorting_Algorithms)を見てください... – JosefZ
最大得点はありません。私はmPlayer(i)を試みます。スコアー±mPlayer(i).lowestRank – Decoder94