0
私は、Javascriptに非常に似ているOpusScriptを使用しています。アレイの手動ソートの実行
配列内のオブジェクトの2つのプロパティで配列をソートする必要があります。
配列のオブジェクト型はScoreEntityで、ScoreとTimeプロパティがあります。私は配列の0のインデックスで最高のスコアを必要とし、その逆もあり、一致するスコアを上書きする時間が短くなります。
私はこれを長年にわたってやろうとしてきましたが、私はその頭の中で頭を上げることはできません。土曜日の症候群があります!
ANSWER:
私はこれを改善する上の任意のコメントは歓迎され、最終的にはバブルソートを使用。
function SortScoreArray(array)
{
var unsorted = true
while (unsorted)
{
// Tracks whether any changes were made, changed to false on any swap
var complete = true
for (var i = 0; i < array.length - 1; i++)
{
// Holds the value for determining whether to swap the current positions
var swap = false
var currentItem = array[i]
var nextItem = array[i + 1]
if (currentItem.Score == nextItem.Score)
{
// The scores are the same, so sort by the time
if (currentItem.Time > nextItem.Time)
{
swap = true
}
}
else if (currentItem.Score < nextItem.Score)
{
swap = true
}
if (swap)
{
array[i] = nextItem
array[i + 1] = currentItem
complete = false
}
}
if (complete)
{
unsorted = false
}
}
return array
}
。私は何をしなければならないか分かっている、私はちょうど傾ける論理を書き留めているようだ! – GenericTypeTea
ああ、申し訳ありませんが実際のQuickSortの記事が見つかりました。私は擬似コードを試してみます。 – GenericTypeTea
私は正しい方向に向いてくれてありがとう。私は最後にBubbleSortを使用しました。 – GenericTypeTea