[英]Sort 2 Arrays in Reverse in C#
我正在一個項目中,我需要接收2個數組並排序以降序打印。
這就是我現在所擁有的:
string[] nPlayer = {"aaa", "bbb", "ccc", "ddd", "eee"}
int[] nScore = {555, 444, 333, 222, 111}
public void Print()
{
Array.Sort(nScore, nPlayer);
PrintKeysAndValues(nPlayer, nScore);
}
public static void PrintKeysAndValues(String[] myKeys, int[] myValues)
{
for (int i = 0; i < myKeys.Length; i++)
{
Console.WriteLine("{0}\t{1}", myKeys[i], myValues[i]);
}
}
我得到的輸出是:(按數字排序)
eee 111
ddd 222
ccc 333
bbb 444
aaa 555
我需要讓它以這種反向顯示(按數字排序)
aaa 555
bbb 444
ccc 333
ddd 222
eee 111
請注意...輸入過程中的數字將全部為隨機數字,而不是按順序排列...
您可以使用Array.Revers方法反轉數組。
public void Print()
{
Array.Sort(nScore, nPlayer);
Array.Reverse(nScore);
Array.Reverse(nPlayer);
PrintKeysAndValues(nPlayer, nScore);
}
LINQ也可以使用,並且可以讓您完全跳過Array.Sort:
nScore = nScore.OrderByDescending(c => c).ToArray();
nPlayer = nPlayter.OrderByDescending(c => c).ToArray();
PrintKeysAndValues(nPlayer, nScore);
您可以使用任何比較排序算法對數字數組進行降序排序。
排序時,需要對字符串數組進行相同的元素重排。
您是否正在尋找執行以上操作的代碼?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.