【发布时间】:2012-01-14 23:55:10
【问题描述】:
我已经阅读了很多关于对二维数组进行排序的帖子,但我仍然无法掌握它,所以我想知道是否有人可以给我一些建议...
我有一个列出字母和数量的数组(我正在对一段文本进行频率分析)。我已将此数据读入一个矩形数组,需要先按最高频率对其进行排序。到目前为止,这是我的代码:
//create 2D array to contain ascii code and quantities
int[,] letterFrequency = new int[26, 2];
//fill in 2D array with ascaii code and quantities
while (asciiNo <= 90)
{
while ((encryptedText.Length - 1) > counter)
{
if (asciiNo == (int)encryptedText[index])
{
letterCount++;
}
counter++;
index++;
}
letterFrequency[(storeCount), (0)] = (char)(storeCount+66);
letterFrequency[(storeCount), (1)] = letterCount;
storeCount++;
counter=0;
index=0;
letterCount = 0;
asciiNo++;
}
【问题讨论】:
-
您使用的是最新版本的 C# 吗?
-
是的,我使用的是 VS 2010?
-
你能举一个例子(也许更小)一个有序的二维数组是什么样子的吗?例如,您的意思是对每一行进行单独排序吗?
-
看起来你得到了一些很好的反馈,所以我会退出。我问了 C# 问题以确保您可以利用 Linq Lambda 表达式。
-
该数组将包含两列 - 一列用于字符,另一列用于该字符的频率。所以总的来说,它存储了 26 个不同的字母及其相关频率。