1、【常见算法】不使用第三个变量交换两个数的值

不使用第三个变量交换两个数的值

mian.cpp

 1 #include <iostream>
 2 using namespace std;
 3 void SwapA(int &A, int &B)
 4 {
 5     if(A == B)
 6     {
 7         return;
 8     }
 9     A = A + B;
10     B = A - B;
11     A = A - B;
12 
13 }
14 
15 void SwapB(unsigned int &A, unsigned int &B)
16 {
17     if(A == B)
18     {
19         return;
20     }
21     A = A ^ B;
22     B = A ^ B;
23     A = A ^ B;
24 
25 }
26 int main()
27 {
28     int a = 10;
29     int b = 20;
30 
31     //定义了两个引用
32     int &c = a;
33     int &d = b;
34 
35     SwapA(c, d);
36     cout << " a = " << a << endl;
37     cout << " b = " << b << endl;
38 
39     unsigned int l = 10;
40     unsigned int m = 30;
41     //定义了两个引用
42     unsigned int &e = l;
43     unsigned int &f = m;
44 
45     SwapB(e, f);
46     cout << " l = " << l << endl;
47     cout << " m = " << m << endl;
48 
49     return 0;
50 }
原文地址:https://www.cnblogs.com/Long-w/p/9779404.html