当前位置:   article > 正文

C++交换两个值的三种方法_c++交换两个数的值

c++交换两个数的值

第一种:利用指针进行交换

  1. #include<stdio.h>
  2. #include<iostream>
  3. #include<algorithm>
  4. using namespace std;
  5. void swap(int *a, int *b){
  6. int p;
  7. p = *a;
  8. *a = *b;
  9. *b = p;
  10. }
  11. int main(int argc, char const *argv[])
  12. {
  13. int a = 3, b = 2;
  14. swap(a, b);
  15. printf("%d %d\n", a, b);
  16. return 0;
  17. }

第二种:使用位运算进行交换

  1. #include<stdio.h>
  2. #include<iostream>
  3. #include<algorithm>
  4. using namespace std;
  5. void swap(int &a, int &b){
  6. a ^= b ^= a ^= b;
  7. }
  8. int main(int argc, char const *argv[])
  9. {
  10. int a = 3, b = 2;
  11. swap(a, b);
  12. printf("%d %d\n", a, b);
  13. return 0;
  14. }

第三种:使用加减法进行交换

  1. #include<stdio.h>
  2. #include<iostream>
  3. #include<algorithm>
  4. using namespace std;
  5. void swap(int &a, int &b){
  6. a = a + b;
  7. b = a - b;
  8. a = a - b;
  9. }
  10. int main(int argc, char const *argv[])
  11. {
  12. int a = 3, b = 2;
  13. swap(a, b);
  14. printf("%d %d\n", a, b);
  15. return 0;
  16. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码维护者/article/detail/63043
推荐阅读
相关标签
  

闽ICP备14008679号