Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查未排序的联盟中是否缺少数字_C#_Visual Studio 2010_.net 4.0_Datagridview - Fatal编程技术网

C# 检查未排序的联盟中是否缺少数字

C# 检查未排序的联盟中是否缺少数字,c#,visual-studio-2010,.net-4.0,datagridview,C#,Visual Studio 2010,.net 4.0,Datagridview,我有一个datagridview显示在屏幕上。用户可以将名为“Pareto”的结束列更改为他/她喜欢的任何整数。但有一个陷阱,所有的记录都在一个联盟中。 用户也可能希望只保留一个数字,然后返回,因此不允许丢失一个数字是不可能的 基本上,我需要一个方法来检查列是否有未排序行中缺少的数字,并将缺少的每个数字存储到数组/列表中,以便我输出 通常我喜欢这些小的逻辑问题,但在我今天编写的循环之后,我的大脑已经精疲力竭了。。。因此,任何输入都将是伟大的 我最初的想法是首先通过计数获得网格中的最大记录(没问题

我有一个datagridview显示在屏幕上。用户可以将名为“Pareto”的结束列更改为他/她喜欢的任何整数。但有一个陷阱,所有的记录都在一个联盟中。 用户也可能希望只保留一个数字,然后返回,因此不允许丢失一个数字是不可能的

基本上,我需要一个方法来检查列是否有未排序行中缺少的数字,并将缺少的每个数字存储到数组/列表中,以便我输出

通常我喜欢这些小的逻辑问题,但在我今天编写的循环之后,我的大脑已经精疲力竭了。。。因此,任何输入都将是伟大的

我最初的想法是首先通过计数获得网格中的最大记录(没问题)

然后将其用作范围1-“maxCount”。找到所有丢失的号码。它听起来很简单,直到我想到它没有被分类


非常感谢不清楚真正的工作流程,但是

事实上,
DataGridView
没有排序是一个纯粹的
UI
东西。您的
数据
可以通过
DataView
或任何其他中间
视图
层进行排序并绑定到
DataGrid

用户一旦插入值,就可以执行二进制搜索(排序集合搜索中可用的最快搜索)来查找感兴趣的值

编辑

如果需要检查(1..500)中的一组数字中缺少的数字,首先可以对所有数字进行排序,就像我在数据模型中的帖子中定义的那样

List<int> sortedAlreadyAvailableNumbers ... 

希望这有帮助。

不清楚真实的工作流程,但是

事实上,
DataGridView
没有排序是一个纯粹的
UI
东西。您的
数据
可以通过
DataView
或任何其他中间
视图
层进行排序并绑定到
DataGrid

用户一旦插入值,就可以执行二进制搜索(排序集合搜索中可用的最快搜索)来查找感兴趣的值

编辑

如果需要检查(1..500)中的一组数字中缺少的数字,首先可以对所有数字进行排序,就像我在数据模型中的帖子中定义的那样

List<int> sortedAlreadyAvailableNumbers ... 

希望这有帮助。

数字的规则是什么?它们必须是连续的吗?比如,如果有十行,我应该每次看到数字1到10?规则是500行,应该包含1-500个唯一的数字。但它们不必井然有序,它们可以像这样流动。1,2,8,3,4,10,5,7,6,9.数字的规则是什么?它们必须是连续的吗?比如,如果有十行,我应该每次看到数字1到10?规则是500行,应该包含1-500个唯一的数字。但它们不必井然有序,它们可以像这样流动。1,2,8,3,4,10,5,7,6,9.等等,我认为二进制搜索是基于你已经知道你要查找的项目,并且搜索只定位其索引。在我的例子中,我正在搜索任何缺失的数字,但我不知道这些数字是什么。啊,我明白了,问题不在于搜索缺失数据的方法,而在于它不是经过排序的数据。@StevenSmith:这样,即使没有排序,它也能工作,但有了排序的数据,它会工作得更快。等等,我认为二进制搜索是基于您已经知道您要查找的项目,并且搜索只定位其索引。在我的例子中,我正在搜索任何缺失的数字,但我不知道这些数字是什么。啊,我明白了,问题不在于搜索缺失数据的方法,而在于它不是已排序的数据。@StevenSmith:这样,即使没有排序,它也能工作,但对于已排序的数据,它会工作得更快。