void inplace_swap(int *x, int *y) {
*y=*x^*y;/*Step1*/
*x=*x^*y;/*Step2*/
*y=*x^*y;/*Step3*/
《深入理解計(jì)算機(jī)系統(tǒng)》書中利用異或操作實(shí)現(xiàn)不利用額外空間進(jìn)行臨時(shí)存儲(chǔ),與熟知的求和操作交換兩數(shù)值有異曲同工之妙,書中也提出這樣操作不會(huì)有性能上的優(yōu)勢(shì)orz
void inplace_swap(int *x, int *y) {
*y=*x+*y;/*Step1*/
*x=*y-*x;/*Step2*/
*y=*y-*x;/*Step3*/