Loading... ## 异或大法: 再复习一下异或:(相同为0,不同为1) 1 ^ 1 = 0 1 ^ 0 = 1 0 ^ 1 = 1 0 ^ 0 = 1 ## 直面主题: <div class="tip inlineBlock info"> int a = 甲 int b = 乙 a = a ^ b -> (a = 甲 ^ 乙,b = 乙) b = a ^ b -> (a = 甲 ^ 乙, b = 甲 ^ 乙 ^ 乙 = 甲) a = a ^ b -> (a = 甲 ^ 乙 ^ 甲 = 乙,b = 甲) 看懂扣1,不懂扣2 </div> ## 简单的选择排序: ```cpp #include<iostream> #include<algorithm> using namespace std; void swap(int a[], int i, int j){ a[i] = a[i] ^ a[j]; a[j] = a[i] ^ a[j]; a[i] = a[i] ^ a[j]; } int main(){ int a[] = {2, 5, 3, 1, 7}; for(int i = 0; i < 4; i++){ for(int j = i + 1; j < 5; j++){ if(a[i] > a[j]){ swap(a, i, j); } } } for(int i = 0; i < 5; i++){ cout<<a[i]<<" "; } return 0; } ``` 最后修改:2022 年 01 月 19 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果文章有用,请随意打赏。