直接用異或運算符來進行計算,相同的數字異或爲0,0異或任何數都等於任何數,且異或的位置可以進行交換而不影響結果;
異或運算的作用
參與運算的兩個值,如果兩個相應bit位相同,則結果爲0,否則爲1。
即:
0^0 = 0,
1^0 = 1,
0^1 = 1,
1^1 = 0
按位異或的3個特點:
(1) 0^0=0,0^1=1 0異或任何數=任何數
(2) 1^0=1,1^1=0 1異或任何數-任何數取反
(3) 任何數異或自己=把自己置0
直接用異或運算符來進行計算,相同的數字異或爲0,0異或任何數都等於任何數,且異或的位置可以進行交換而不影響結果;
參與運算的兩個值,如果兩個相應bit位相同,則結果爲0,否則爲1。
即:
0^0 = 0,
1^0 = 1,
0^1 = 1,
1^1 = 0
按位異或的3個特點:
(1) 0^0=0,0^1=1 0異或任何數=任何數
(2) 1^0=1,1^1=0 1異或任何數-任何數取反
(3) 任何數異或自己=把自己置0
什麼是堆:堆是一種經過排序的完全二叉樹,其中任一非終端節點的數據值均不大於(或不小於)其左孩子和右孩子節點的值; 首先,堆分爲大根堆(最大堆)和小根堆(最小堆)二種; 小根堆滿足: