愁一箭风快,半篙波暖,回头迢递便数驿。——周邦彦《兰陵王·柳》 楠少博客 阅读文章 如何优雅的交换两个数的值? 按位异或 楠少 2019-11-22 6666666 8888888 技巧 摘要如何优雅的交换两个数的值? 正常情况下,我们会选择用中间变量来实现值的交换。 。。。 # 如何优雅的交换两个变量的值? ## 中间变量 ``` C int a = 10; int b = 21; // 使用中间变量 int t = a; a = b; b = t; // a 与 b 的值已经交换 ``` 这种属于常规思路,但是好像不够优雅。 ## 不使用中间变量 ``` C int a = 10; int b = 21; // 不使用中间变量 a = a + b; b = a - b; a = a - b; // a 与 b 的值已经交换 ``` 这种貌似比上一种解法优雅一点,但是感觉还差点什么 ## 按位异或 ``` C int a = 10; int b = 21; // 按位异或 a = a ^ b; b = a ^ b; a = a ^ b; // a 与 b 的值已经交换 ``` 这种方法可能看不明白, 自己试一下看看。 那种方式最优雅?自己做决定吧。 上一篇:更新:楠少音乐盒 QQ音乐修复 下一篇:python datetime.now()的问题 文章评论 [ 聊聊技术 聊聊自己 ] 在巴甫洛夫条件反射 试验中:给定一条狗,每次摇铃后喂食,足够次数后,狗则听到铃声将会习惯性的分泌唾液,由此引发对铃声的依恋。延伸到实际,给定一个喜欢的妹子,每次见面赠与巴甫洛夫式 的礼品或者零食,由此引发妹子的依恋。引入薛定谔的猫 理论,在未表白前,妹子与自己一直处于一种“概率云”的状态,一旦表白则“概率云”将消失成为实际。在 巴甫洛夫式 后且未表白前,自己与妹子的关系为“既是恋人又不是恋人”的矛盾体。返回巴甫洛夫式 试验中,在妹纸形成足够的依恋过后,则可以打破薛定谔 “概率云”的状态。这个谜一样的自己,这一刻 薛定谔 附体,带着量子论般深沉的哀愁,让她从此不能自拔! 自此创作 巴甫洛夫薛定谔把妹法,深藏功与名。