请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

inline swap(int a, int b) { a = a ^ b; b = a ^ b; a = a ^ b; };

如果仅仅是 int的比较, 那么简单的提升swap的性能即可.

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2018-09-04 15:31:47

其实,使用这种以获得方式交换两个数字,效率不一定比使用临时空间存储效率高哦:)


可以测试一下,交换1亿次,看以下两种方法的累计时间:)


另外,在C++中,交换两个元素,一定要传引用哦。对于你写的函数声明,应该是这样的:

inline swap(int& a, int& b) // a和b都是int型的引用


加油!:)

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信