我有一个项目数组,我想要做的是某种循环,我将使用该循环使用该数组中的每个对象,并为该数组中的每个其他剩余对象运行测试函数。 / p>
我不想两次使用两个相同的对象,这意味着如果A和B被检查,B和A将不会被检查。
假设我有一个A B C D阵列 现在我想做的是
A B
A C
A D
B C
B D
C D
因此,没有两个相同的元素打印两次。
答案 0 :(得分:5)
这是一个简单的嵌套循环:
int[] myArray = new int[1000];
for (int x = 0; x < myArray.Length; ++x)
{
for (int y = x+1; y < myArray.Length; ++y)
{
// do something with x and y
}
}
您应该明白,对于大型阵列,这可能需要很长时间。组合数为n*(n-1)/2
。因此,如果您的数组包含1,000个项目,那么您将有近500,000个组合需要检查。