10个变量按一定规律交换值,除了加一个临时变量有没有其他更优的算法?

比如A变量要和C换,但C要和F换,F和B换,B和A换。
这样加一个临时变量之后,还是要考虑交换顺序。
有没有更优化的思路?

不用临时变量顺次交换N个变量的值
这个链接里面的,是有顺序要求的

具体说比如:
一个字符串数组,对应交换。
规律是A要换到C,B换F,一堆后面才是C换到G,这样。

阅读 2.5k
2 个回答

a=a+c
c=a-c
a=a-c
不需要用到临时变量。只是这样还是要记录交换顺序啊。如果是字符串-号换成remove。
有点不太确定是不是这个意思

var a  = [ 1,   2,   3,   4,   5 ]
var to = ['A', 'B', 'C', 'D', 'E']; 

var map2Window = () => {
    to.forEach((key, idx) => {
        window[key] = a[idx]; 
    })
}

var next = () => {
    a.push(
        a.shift()
    );
    map2Window(); 
}

执行 next 打开浏览器查看 A B C D E

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏