我的數(shù)據(jù)如下:5 2 2 1 3 3 4我想在 C# 中輸出如下:1 2 3 4 5 2 3所以基本上所有的唯一值首先按 ASC 順序排序,而不是從剩余的項目開始......
2 回答

MMTTMM
TA貢獻1869條經(jīng)驗 獲得超4個贊
您可以按值對數(shù)據(jù)進行分組,對組進行排序,然后在記住計數(shù)的情況下迭代組 - 每次遞減并在達到零時刪除事物,或者增加計數(shù)器并僅輸出至少人口眾多的事物。就像是:
var values = new[] { 5, 2, 2, 1, 3, 3, 4 };
var data = new SortedDictionary<int, int>();
foreach(var val in values)
{
int count;
if (!data.TryGetValue(val, out count)) count = 0;
data[val] = count + 1;
}
int lim = 0;
bool any;
do
{
any = false;
foreach (var pair in data)
if (pair.Value > lim)
{
Console.WriteLine(pair.Key);
any = true;
}
lim++;
} while (any);
- 2 回答
- 0 關(guān)注
- 209 瀏覽
添加回答
舉報
0/150
提交
取消