【发布时间】:2017-11-14 01:09:02
【问题描述】:
我已经实现了我自己的选择排序方法,它似乎在很大程度上完成了它的工作;但是,当我将文件打印到 Excel 工作表时,打印机不会打印第一项。我不确定排序方法是否是问题的根源。我的排序方法的测试方法通过了,这就是为什么我怀疑那是源。我的排序方法如下所示。它的范围或顺序或操作是否有错误?当我在纸上手动移动它时,一切都会正确排序。
public bool sortMaterial()
{
for (int i = 0; i < salesList.Count - 2; i++)
{
Sales curr = salesList[i];
Sales temp;
Sales min = curr;
int swap = 0;
for (int j = i + 1; j < salesList.Count; j++ )
{
temp = salesList[j];
if (String.Compare(temp.material, min.material) == -1)
{
min = temp;
swap = j;
}
}
salesList[i] = min;
salesList[swap] = curr;
}
return true;
}
【问题讨论】:
-
你的调试显示了什么?
-
for (int i = 0; i stackoverflow.com/questions/14768010/simple-bubble-sort-c-sharp例如。 Nikoo 的例子似乎是正确的......跳过其他 s{###[{# 代码:-)
-
为什么这个方法返回一个总是正确的布尔值?似乎您希望它返回一个 void。
-
@LaurentLequenne 我不希望进行冒泡排序,因为它是一种非常低效的排序方法。当我使用 -1 而不是 -2 我的方法在我的测试中停止工作。我也曾认为 -1 是必要的,但当它不起作用时我感到很惊讶
-
我不知道你正在实现什么样的排序......但它看起来像是冒泡排序的错误实现,它做得更少:-)
标签: c# excel visual-studio sorting