美文网首页codeER.tec
[算法]不用第三个数交换2个数的位置

[算法]不用第三个数交换2个数的位置

作者: 程序猿_老李 | 来源:发表于2016-01-23 14:56 被阅读84次

int a = 10;

int b = 20;

第一种方法:

a = a + b;

b = a - b;

a = a - b;

第二种方法:

a = a ^ b; (^ 语言中是异或的意思,同为0 异为1 1 ^ 1 = 0, 0 ^ 0 = 0, 1 ^ 0 = 1)

b = a ^ b;

a = a ^ b;

第三种方法 (这种方法容易越界,a 大于int最大值了)

a = (a + b) - (b = a);

相关文章

  • [算法]不用第三个数交换2个数的位置

    int a = 10; int b = 20; 第一种方法: a = a + b; b = a - b; a = ...

  • 冒泡排序

    算法思想: 每次比较相邻的两个元素,如果顺序错误就交换它们的位置 算法原理: 每趟只能将一个数归位,如果n个数进行...

  • 数学作业15

    运算法则 第5课 乘法交换律、结合律 姓名:洪子麓 一、填空 1.两个数相加,交换加数的位置,(和)不变;两个数相...

  • JinLou-C++day07

    冒泡排序 冒泡排序就是重复“从序列右边开始比较相邻两个数字的大小,再根据结果交换两个数字的位置”这一操作的算法。在...

  • Python冒泡排序

    冒泡排序 冒泡排序就是重复“从序列右边开始比较相邻两个数字的大小,再根据结果交换两个数字的位置”这一操作的算法。在...

  • javaScript数据结构和算法--冒泡排序

    冒泡排序比较任何两个相邻的数,如果第一个数比第二个数大,则交换这两个数,元素向上移动至正确的位置。 冒泡排序的算法...

  • 算法和数据结构2.1冒泡排序

    冒泡排序就是重复“从序列右边开始比较相邻两个数字的大小,再根根据结果交换两个数字的位置”这一操作的算法。 在这一操...

  • 算法系列之-冒泡排序(三)

    冒泡排序:在一组数中,取一个数与相邻的数比较,如果前一个数大于后一个数交换位置,交换位置后,又和前一个数比较,知道...

  • 冒泡排序

    原理假如为升序排列,数组长度为n,如果「第1个数」大于「第2个数」,则将两者交换位置,反之位置不动。然后比较「第2...

  • 与孩子一起学数学(十)

    算术概念 1.加法交换律:两数相加交换加数的位置,和不变。 2.加法结合律:三个数相加,先把前两个数相加,或先把后...

网友评论

    本文标题:[算法]不用第三个数交换2个数的位置

    本文链接:https://www.haomeiwen.com/subject/qdjrkttx.html