解决方案 »

  1.   

    A = A ^ B;B = B ^ A;A = A ^ B;
      

  2.   

    arr[a]=arr[a]^arr[b];
    arr[b]=arr[b] ^arr[a];
    arr[a] =arr[a]^arr[b];
    2L的说的翻译过来就是这个~
    LZ试试吧~ 
      

  3.   

    //老毕说的方法,但我没能实现
      /*arr[a]=arr[a]^arr[b];
      arr[b]=arr[a] ^arr[b];
      arr[a] =arr[a]^arr[b]; */  
    什么叫没能实现?敲上去有什么问题吗?
      

  4.   


    //老毕说的方法,但我没能实现
      /*arr[a]=arr[a]^arr[b];
      arr[b]=arr[a] ^arr[b];
      arr[a] =arr[a]^arr[b]; */                  
    }第二条应该是 arr[b] = arr[b] ^arr[a];  而不是  arr[b]=arr[a] ^arr[b];    顺序不能乱
      

  5.   

    不行的啦,我刚试了,你们说的方法,不行的了 
    arr[a]=arr[a]^arr[b];
    arr[b]=arr[b] ^arr[a];
    arr[a] =arr[a]^arr[b];
      

  6.   


    //老毕说的方法,但我没能实现
      /*arr[a]=arr[a]^arr[b];
      arr[b]=arr[a] ^arr[b];
      arr[a] =arr[a]^arr[b]; */                  
    }第二条应该是 arr[b] = arr[b] ^arr[a];  而不是  arr[b]=arr[a] ^arr[b];    顺序不能乱
    异或是具备交换律的,你自己试过没有就说顺序不能乱
      

  7.   

    是你的冒泡算法写错了啦
    不是swap(arr,x,y);
    是swap(arr, y, y+1)交换相邻两个元素啦,冒泡理解了没有啊
      

  8.   


    这个方法肯定是可以的,不过我比较讨厌老师提这种要求。
    如果我的程序员写这种程序,那肯定是一顿批评,因为可读性太差。
    多定义一个临时变量又不会死人。可读性差吗?  如果这个都读不明白  那就别做程序员了可读性当然差,程序员分很多种,能有更易读的代码为什么不用。
    这样两段代码谁更容易看懂呢?
    temp =A;
    A = B;
    B=temp;

    A = A ^ B;
    B = B ^ A;
    A = A ^ B;
    读懂第一个也许只需要0.1秒,而读懂第二个也许5秒都做不到。一比就出来了。只是多一个临时变量而已,写这种复杂的代码有意思吗?一点意义都没有。有那时间不如干点正事。
      

  9.   


    这个方法肯定是可以的,不过我比较讨厌老师提这种要求。
    如果我的程序员写这种程序,那肯定是一顿批评,因为可读性太差。
    多定义一个临时变量又不会死人。可读性差吗?  如果这个都读不明白  那就别做程序员了可读性当然差,程序员分很多种,能有更易读的代码为什么不用。
    这样两段代码谁更容易看懂呢?
    temp =A;
    A = B;
    B=temp;

    A = A ^ B;
    B = B ^ A;
    A = A ^ B;
    读懂第一个也许只需要0.1秒,而读懂第二个也许5秒都做不到。一比就出来了。只是多一个临时变量而已,写这种复杂的代码有意思吗?一点意义都没有。有那时间不如干点正事。不对  这么常用的东西  看不懂还做什么程序员  如果代码是个人都能看懂  还要程序员干嘛  程序员就要拿出点程序员的样子  我认为  只要合理的代码  没理由不那么写