编辑:我现在意识到这个问题不适用于堆栈,但是无论如何我都得到了很多有用的建议。感谢大家!
我有一个二维数组,我想将相同值的邻居分组在一起。使用C#(团结一致)。
假设我有这个:
int[,] array {
0,0,0,0,0,0,1,0,0,0,
0,1,1,0,0,0,1,0,0,0,
0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,1,1,0,
0,0,0,0,0,0,1,1,1,0
}
三个1:s的“簇”。我想将它们添加到带有一些变量的字典中以进行识别。因此,也许首先将相邻的值添加到列表中,然后将该列表添加到字典中,清除列表,然后移至下一个群集。
在真实情况下,列和行的长度相等。
我还希望排序方法可以接受各种大小的数组,因此不能使用硬编码的值。我从XML文档解析数组。
我尝试研究Array.Sort
,但是我发现的资源完全是关于按升/降序对值进行排序的。只要向我指出正确的方向,一些相关的Web资源将不胜感激!
答案 0 :(得分:1)
由于1.您不应该在这里提出要求,而且2.您绝对可以自己解决这个问题,因此我不会提供完整的答案。
这是一个很好的机会,您可以挥动笔和纸找出算法。可以说我们想要与您的任务类似的东西:仅将它们集群。伪代码可能看起来像这样。
If然后再通过一个小例子在纸上进行说明。
一旦有了所需的算法,将其放入字典中并对其进行排序应该很简单。