黑马程序员技术交流社区

标题: 关于排序中的swap交换方法的多种形式 [打印本页]

作者: kane    时间: 2014-12-4 11:51
标题: 关于排序中的swap交换方法的多种形式
本帖最后由 kane 于 2014-12-4 11:58 编辑

最近我整理了一下swap()的方法的各种交换方式,希望对大家有帮助 :
  1. void swap()//方法一
  2. {
  3.   int y = 10;
  4.   int temp = x;
  5.   x = y;
  6.   y = temp;
  7. }
  8. void swap()//方法二
  9. {
  10.   int x = 5;
  11.   int y = 10;
  12.   x = x ^ y;
  13.   y = x ^ y;
  14.   x = x ^ y;
  15. }
  16. void swap()//方法三
  17. {
  18.   int x = 5;
  19.   int y = 10;
  20.   x = x + y;       //x=15,15=5+10
  21.   y = x - y;       // x=30,y =5,5= 15 - 10
  22.   x = x - y;        //x=10,y=5,x =10 = 15 - 5


  23.   x = x * y;       //x=50,x=50=5*10
  24.   y = x / y;       //x=50,y =5, 5=50 / 10
  25.   x = x / y;        //x=10,y=5,10 = 50 / 5

  26. }
复制代码














作者: bjuth    时间: 2014-12-4 13:14
学习了:)
作者: relice    时间: 2014-12-4 13:17
第三种只是用于数值交换吧
作者: kane    时间: 2014-12-4 13:28
relice 发表于 2014-12-4 13:17
第三种只是用于数值交换吧

是的,不能用于字符串哈:lol
作者: quick3g    时间: 2014-12-4 14:28
学习了。
作者: Dr.Sparta    时间: 2014-12-4 17:49
感谢分享,学习下
作者: 清诗纪事    时间: 2014-12-4 18:43
第三个方法有局限性,只能是正数
作者: 一颗黑菜    时间: 2014-12-4 22:15
第一种用的多
作者: Honelyboy    时间: 2014-12-11 21:57
三种方法各有不同的用处。学习了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2