求大佬指点
查看原帖
求大佬指点
594426
XiouHarry楼主2021/11/8 00:02

为什么写的swap()函数里面参数不加引用变量&的话,a,b的值就没有改变?感觉上课老师没有讲明白,大佬求指点。?

#include <iostream>
using namespace std;
int a[10001] = { 0 };
void Swap(int &a, int &b) {
	int temp;
	temp = a;
	a = b;
	b = temp;
}
int main() {
	int N;
	int sum = 0;
	cin >> N;
	for (int k = 1; k <= N; k++)
		cin >> a[k];
    for (int i = 1; i < N ; i++) { //控制n-1趟冒泡
		for (int j = 1; j < N + 1 - i; j++)
		{
			if (a[j]>a[j + 1]) { //比较相邻的两个元素
			    Swap(a[j],a[j+1]);
			    sum++;
			}
		}
	}
	cout << sum << endl;
	return 0;
}
2021/11/8 00:02
加载中...