不借助第三个变量交换两个变量的值

交换两个变量的值,一般的解决方法就是用一个临时变量保存转换过程中的值因为如果直接进行交换的话:a=b;则a原来的值会被冲掉。

比如:

int a,b;

int temp;

temp=a;

a=b;

b=temp;

只要在交换的过程中是a、b的值不被冲掉就可以达到交换的目的,实现的方法有下面两种(还有一种c指针方法就不介绍了)

(1)int a=10,b=12;

       a=b-a;

       b=b-a;

       a=b+a;这样就完成了a、b的交换,并且没有借助第三个变量,因为惯性思维,这种方法会很难被想到

(2)位运算来实现

       int a,b;

       a=a^b;

       b=b^a;

       a=a^b;

先写这麽多吧,以后有新的方法再补充


本文为博主原创文章,转载请注明出处:http://www.cnblogs.com/ysw-go/
1、本博客的原创原创文章,都是本人平时学习所做的笔记,如有错误,欢迎指正。
2、如有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理文章。
3、本博客的目的是知识交流所用,转载自其它博客或网站,作为自己的参考资料的,感谢这些文章的原创人员

posted @ 2015-10-10 19:57  菜鸟奋斗史  阅读(1095)  评论(0编辑  收藏  举报