算法学习day1

95 阅读1分钟

异或操作:相同为零,不同为一(理解为无进位相加)

冒泡排序:

image.png

交换a,b两值得代码(前提:a,b指向两个不同的内存位置):

a=a^b;

b=a^b;

a=a^b; 即可交换a,b两值,解释: 设a=甲,b=乙;

a=a^b; 此时a=甲^乙,b=乙;

b=a^b; 此时a=甲^乙, b=甲^乙^乙=甲(乙^乙=0,0^甲=甲)

a=a^b, 此时a=甲^乙^甲=乙,b=甲,此时a,b两值便成功交换。