阵列混乱 - 测验

时间:2013-04-29 21:02:47

标签: sorting

我对我的一个测验答案感到有点困惑,我希望有人可以给我一个解释。问题是:

您有两个名为b和c的数组。您调用静态方法,该方法将一个数组的组件k中的值与另一个数组的组件k中的值进行交换。此swap方法未提及除其参数外在方法外声明的任何变量。以下哪种方法调用可以实现此目的?

答案:交换(c,b,k)

我很困惑为什么这就是答案。任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:0)

很可能交换声明的c和b通过引用传递。这意味着在进行实际交换之前,所有函数必须检查两者以确保有足够的元素(sizeof(c) >= k && sizeof(b) >= k或类似的东西)。

另外:b,c和k在问题本身中定义。

答案 1 :(得分:0)

它将索引为k的元素交换为b和c。 k-1交换k之前的元素,0交换数组中的第一个元素

答案 2 :(得分:0)

由于swap()不能引用自身以外的任何内容,因此必须将所有必需的引用和信息作为参数传递。

swap(c,b,k)的答案是正确的,因为它提供了对两个数组的引用以及要交换的索引。你只是无法完成传递更少参数的任务。

如果您只有 swap() swap(k) swap(c,b),那么该方法需要完成任务以外的信息。