【发布时间】:2015-11-19 07:15:20
【问题描述】:
以下代码使用冒泡方法按第一个元素对行进行排序。 我无法将其更改为计数排序。
public void SortStack(double[,] n)
{
for (int i = 0; i < n.GetLength(0) - 1; i++)
{
for (int j = i; j < n.GetLength(0); j++)
{
if (n[i, 0] > n[j, 0])
{
for (int k = 0; k < n.GetLength(1); k++)
{
var temp = n[i, k];
n[i, k] = n[j, k];
n[j, k] = temp;
}
}
}
}
}
请帮忙。
【问题讨论】:
-
你尝试过什么来实现计数排序?您是否查看过在线提供的各种代码示例?
-
是的,我找到了一维数组的解决方案,但我需要对二维数组行进行排序。 rosettacode.org/wiki/Sorting_algorithms/Counting_sort#C.23
-
计数排序不适用于
doubles。请参阅stackoverflow.com/questions/33741875/…,了解如何有效地对二维数组进行排序。
标签: c# arrays sorting counting-sort