实现swap的两种方法总结
一、取地址指针传递
#include <bits/stdc++.h>
using namespace std;
void swap(int *x, int *y) {
int tmp = *x;
*x = *y;
*y = tmp;
}
int main() {
int a = 10, b = 20;
swap(&a, &b);
cout << a << ' ' << b << endl;
}
运行如图所示:
二、引用类型值传递
#include <bits/stdc++.h>
using namespace std;
void swap(int &x, int &y) {
int tmp = x;
x = y;
y = tmp;
}
int main() {
int a = 10, b = 20;
swap(a, b);
cout << a << ' ' << b << endl;
}
运行如图所示: