程序员面试宝典—不使用中间变量实现交换
2017-08-18 17:29
232 查看
方法1:
方法2:
优点:引用,不会产生实参的副本;相比指针,可读性好些。
void swap(int &a,int &b) { a=a+b; //(a+b)可能超界 b=a-b; a=a-b; }
方法2:
void swap(int &a,int &b) { a=a^b; b=a^b; //a^b^b=a,也就把a赋给b a=a^b; }
优点:引用,不会产生实参的副本;相比指针,可读性好些。
相关文章推荐
- 不使用中间变量就实现变量交换
- 不使用中间变量,实现两个变量值的交换
- 不使用中间变量实现变量交换
- Java-实现两个int类型变量值的交换,要求不使用中间变量
- 实现两个int类型变量值的交换,要求不使用中间变量
- 不使用中间变量实现两个变量的交换
- 不使用中间变量实现数据交换
- 不使用中间变量实现两个数的交换
- 不使用中间变量实现两个整数的交换(方法一)
- 不使用中间变量实现两个整数的交换
- 18、不使用中间变量,实现两个数的交换 JAVA
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,
- 使用jquery交换两行内容(实现行移动)
- 【技巧】不使用中间变量交换两个变量的值
- 不使用中间变量交换变量a、b变量
- 一个使用数学技巧实现的数值交换
- 不使用中间变量交换两个数(Java版)
- 不使用中间变量交换两个数(Java版)
- Windows CE下使用共享内存实现进程间数据交换
- C/C++面试之算法系列--借刀杀人,不使用任何中间变量实现strlen