我在选择排序程序中使用以下代码来交换值。当我传递像 swap(a [min],a [j])这样的参数时,它会交换值,但不会。 t增加&#34;交换&#34; 变量。 但是当我传递像 swap(&amp; a [min],&amp; a [j])这样的参数时,它会交换值并增加&#34;交换&#34; < / strong>变量。我没有得到引擎盖下发生的事情 我正在使用minGW编译器。
void swap(int *x,int *y)
{
swaps++;
int temp;
temp=*x;
*x=*y;
*y=temp;
}
答案 0 :(得分:6)
使用swap(a[min],a[j])
时,您最有可能致电std::swap
。
using namespace std;